【发布时间】:2018-01-02 14:02:17
【问题描述】:
我有一个清除 asp:DropdownList 控件的 asp.net 方法。
[System.Web.Services.WebMethod]
public void clear()
{
cloneSrcEnvList.Items.Clear();
}
我的目标是使用 JQuery/Ajax 请求调用此函数:
<script type="text/javascript">
function BtnClick(){
$.ajax({
type: "POST",
url: "Tools.aspx/clear",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
console.log(msg);
}
});
}
</script>
但由于静态“500(内部服务器错误)”,我收到此错误。如果我将 clear 方法声明为 Static,则 DropDownlist 会导致错误
非静态字段、方法或属性需要对象引用
你有什么想法或建议吗?
【问题讨论】:
-
静态web方法不知道页面上的服务器控件,所以使用静态web方法无法清除asp:DropDownList。
-
可以用jquery调用非静态方法吗?
-
不,不幸的是这是不可能的。您必须使用按钮单击事件处理程序调用非静态方法,如下所示:
<asp:Button ID="Button1" runat="server" OnClick="Button_Click"></asp:Button>。Button_Click是后面代码中的方法。 -
它将在页面上进行回发,我正在寻找一种无需回发即可调用方法(带按钮)的方法。
标签: c# jquery asp.net ajax asp.net-mvc