我正在尝试使用 _doPostBack() 将参数从 JQuery 传递到 C#,但是由于某种原因,我无法捕获实际参数。
我的 JQuery 如下:-
function SearchText() {
$("#persons").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "JQAutoComplete2.aspx/FetchPersons",
data: "{'name':'" + document.getElementById('persons').value + "'}",
dataType: "json",
success: function (data) {
response(data.d);
var val = document.getElementById('persons').value;
_doPostBack('UpdatePanel1', val);
},
error: function (result) {
alert("Error");
}
});
},
messages: {
noResults: '', results: function () {
}
}
});
}
我的代码隐藏如下: -
protected void UpdatePanel1_Load(object sender, EventArgs e)
{
var value = Request.Params["__EVENTARGUMENT"];
RadGrid1.DataSource = ctx.GetDataFromXML(false, 0);
RadGrid1.DataBind();
}
虽然调用了这个方法,但是 val 并没有传递给方法,EventArgument 仍然是“”。
我尝试了 Request.Forms["_ EVENTARGUMENT"],也尝试了 Request[ "_EVENTARGUMENT "] 但我仍然得到一个空字符串。
感谢您的帮助和时间