我试图使用JQuery ()将一个参数从C#传递到_doPostBack(),但是由于某种原因,我无法捕获实际的参数。
我的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",也请求了“__EVENTARGUMENT”,但仍然得到了一个空字符串。
谢谢你的帮助和时间
发布于 2013-03-11 16:53:16
在客户端:
__doPostBack('id','value');
正如sll提到的,=> 有两个下划线
在服务器端:
Request["__EVENTARGUMENT"]这里也是两个下划线
您已经尝试了请求“_EVENTARGUMENT”=>,但是您没有使用两个下划线!
https://stackoverflow.com/questions/15343854
复制相似问题