我是一个jQuery新手,并尝试将PageMethod的结果读出来 我的jQuery脚本。我安装了ScriptManager和以下WebMethod:
[WebMethod(EnableSession = true)]
public static string CheckSystemDefault(string _id)
{
int id = Convert.ToInt16(_id);
addressTypeRepository = new AddressTypeRepository();
AddressType addressType = addressTypeRepository.GetById(id);
if (addressType.IsSystemDefault == true)
return "IsSystemDefault";
else
return "IsNotSystemDefault";
}
我用它来检查对象是否具有属性IsSystemDefault。
在脚本中,我从url移交id并想要评估结果:
var id = $(document).getUrlParam("id");
var check = PageMethods.CheckSystemDefault(id);
if (check == "IsSystemDefault") {
...
}
if (check == "IsNotSystemDefault") {
...
}
但结果是变量“check”未定义。我需要改变什么?
答案 0 :(得分:0)
您必须在脚本管理器中启用页面方法。您是否在脚本管理器元素中指定了EnablePageMethods =“true”,因为下面的最后一个属性显示了?
<ajaxToolkit:ToolkitScriptManager runat="Server"
EnableScriptGlobalization="true"
EnableScriptLocalization="true"
ID="ScriptManager1"
EnablePageMethods="true"/>
答案 1 :(得分:0)
我的jQuery脚本中的语法不正确。
必须如下:
<script type="text/javascript">
jQuery(document).ready(function() {
var id = $(document).getUrlParam("id");
PageMethods.CheckSystemDefault(id, function(result) {
if (result == "IsSystemDefault")
// do something
else
// do something
});
});
</script>