使用jquery 1.7.2和.net 4.0
我有一个json ajax调用,用于设置表单上asp隐藏字段的值。单步执行后面的代码,我可以看到隐藏字段设置的值,但是当代码返回到aspx代码时,该值为空。 ASPX代码:
<asp:HiddenField ID="hidden1" runat="server" />
//dropdownlist on change event calls the function below:
function getReport() {
var data = { MethodName: 'myMethod', value1: value1 }
var options = {
url: '<%=ResolveUrl("myPage.aspx") %>',
async: false,
data: data,
datatype: 'text',
type: 'POST',
success: function () {
var returnedData = $("#hidden1").val();
alert('returned data = ' + returnedData);
}
}
$.ajax(options);
//also tried alerting the returned data here.. still empty
}
c#代码背后:
#region AJAX
if (Request.Form["MethodName"] == "myMethod")
{
hidden1.Value = "please just pass this value!!!";
return;
}
else
{
//do something different.
}
#endregion
我简化了我的代码,希望不会太多。我仔细检查了我的代码,以确保隐藏的字段值没有在代码中的其他地方设置。
答案 0 :(得分:0)
由于ajax调用,隐藏字段不会更新。您必须使用ajax调用返回的数据。
function getReport() {
var data = { MethodName: 'myMethod', value1: value1 }
var options = {
url: '<%=ResolveUrl("myPage.aspx") %>',
async: false,
data: data,
datatype: 'text',
type: 'POST',
success: function (returnedData) {
alert('returned data = ' + returnedData);
}
}
$.ajax(options);
}
代码背后的代码:
#region AJAX
if (Request.Form["MethodName"] == "myMethod")
{
return "please just pass this value!!!";
}
else
{
//do something different.
}
#endregion