gpt4 book ai didi

javascript - 从 Web 服务 (asmx) 页面引用 asp.net 页面上的字段

转载 作者:行者123 更新时间:2023-12-03 02:42:42 24 4
gpt4 key购买 nike

我正在使用 Web 服务页面将文本框设为“自动完成”控件。为此,我使用了网络服务。

我在网络服务中的代码如下所示:

    public string[] ISGetCompletionList(string prefixText)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CLTDPL"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);

List<string> Payers = new List<string>();
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "SELECT [PAYER_ID], [PAYER_TYPE] FROM [mos_Payer] WHERE " +
"PAYER_TYPE like '%' + @SearchText + '%' ORDER BY PAYER_TYPE ASC";
cmd.Parameters.AddWithValue("@SearchText", prefixText);
cmd.Connection = conn;
conn.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
Payers.Add(string.Format("{0}|{1}", sdr["PAYER_TYPE"], sdr["PAYER_ID"]));
}
}
conn.Close();
}
return Payers.ToArray();
}

一切都很完美。但是,现在我需要按字段之一过滤 CommandText。所以,我知道我需要将 cmd.CommandText 行更改为:

cmd.CommandText = "SELECT [PAYER_ID], [PAYER_TYPE] FROM [mos_Payer] WHERE " +
"PAYER_TYPE like '%' + @SearchText + '%' and PAYER_DATE = " + MyForm.PayerDate +
" ORDER BY PAYER_TYPE ASC";

我正在尝试弄清楚如何在我的 aspx 页面上引用该字段。

发送所有这些信息的 JavaScript 如下所示:

    function SetAutoComplete() {
$("#<%=txtPayer.ClientID %>").autocomplete({
source: function (request, response) {
$.ajax({
url: '<%=ResolveUrl("~/Autocomplete.asmx/ISGetCompletionList") %>',
data: "{ 'prefixText': '" + request.term + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.split('|')[0],
val: item.split('|')[1]
}
}))
},
error: function (response) {
alert(response.responseText);
},
failure: function (response) {
alert(response.responseText);
}
});
},
select: function (e, i) {
$("#<%=hfPayer.ClientID %>").val(i.item.val);
},
minLength: 1
});
};

最佳答案

不记得您是否可以执行此操作,但请尝试向您的方法添加另一个参数。

public string[] ISGetCompletionList(string prefixText, string payerDate)

然后在ajax调用中

data: "{ 'prefixText': '" + request.term + "', 'payerDate': '" + formDate + "' }", etc.

或者,

在 ajax 调用中将信息添加到 prefixText,类似于 webmethod 组合数据的方式:

data: "{ 'prefixText': '" + request.term + "|" + formDate + "' }", etc

然后将其拆分到后面的代码中。

关于javascript - 从 Web 服务 (asmx) 页面引用 asp.net 页面上的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48253675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com