这是我第一次使用ajax,所以我不确定我哪里出错了。 当下拉列表发生变化时,我在javascript中调用一个方法,我想在代码隐藏中调用一个方法。 这是Dropdown的标记:
<asp:DropDownList ID="ddListSubject" runat="server" ClientIDMode="Static" onchange="SubjectChanged()" CssClass="chosen-single">
</asp:DropDownList>
这是javascript函数&#39; SubjectChange()&#39;这叫做。
function SubjectChanged() {
var strSubject = document.getElementById("ddListSubject").value;
if (strSubject == "Custom") {
document.getElementById("txtBoxSubject").value = "";
document.getElementById("txtBoxSubject").focus();
}
else {
document.getElementById("txtBoxSubject").value = strSubject;
}
ShowMaxMsgLength();
CountChars();
}
功能&#39; ShowMaxMsgLength()&#39;包含调用代码隐藏方法中的方法的ajax代码:
function ShowMaxMsgLength() {
$.ajax({
type: "POST",
url: "Default.aspx/GetMaxMsgLength",
data: "{'id': '1'}",
contentType: "application/json; charset=utf-8",
datatype: "json",
success: OnSuccess,
failure: OnFailure,
error: function (exception) { alert('Exception:' + exception); }
});
};
这是代码隐藏中的GetMaxMsgLength()方法:
public static string GetMaxMsgLength(int id)
{
string tstrMaxMsgLength = string.Empty;
return tstrMaxMsgLength = "32";
}
我只是想让它回归&#39; 32&#39;现在看看它是否正在运行该方法。 我知道ShowMaxMsgLength()被调用是因为我发出了警告&#39;在它。
返回了一个例外:&#39;异常:[object Object]&#39;。 我不知道我没有设置导致此例外的原因。
感谢。
答案 0 :(得分:0)
这只是新手想念的东西...... 添加 方法之前的[System.Web.Services.WebMethod]属性,GetMaxMgsLength。