我在教自己如何使用ASP.NET,我試圖在.aspx文件中的JS函數中調用C#函數。未捕獲的參考錯誤:函數未定義(ASP.NET)
這裏是我的JS部分:
<script type="text/javascript">
function Run() {
alert("Running!")
var ranking = parseInt(document.getElementById("rank").value);
var collsize = parseInt(document.getElementById("size").value);
var collsafety =
parseInt(document.getElementById("safety").value);
var best = PageMethods.Survey(ranking, collsize, collsafety);
document.write(best);
}
</script>
的C#函數的簽名(它嵌入在像JS功能.aspx文件):
<script language="c#">
[System.Web.Services.WebMethod]
public static string Survey(int ranking, int collsize, int
collsafety) {
....
}
確切的錯誤信息是:未捕獲ReferenceError:PageMethods.Survey未定義。
我用一個按鈕使用onclick調用Run方法。我知道該方法已輸入,因爲發生了第一個警報。但是,當我嘗試調用調查時,出現錯誤。
我已經閱讀了幾個答案,像這樣:jquery PageMethod saying the method does not exist,但建議的AJAX也沒有工作。我也讀過這個:https://www.codeproject.com/Questions/561226/errorpluspageMethodplusisplusundefined但我看不到我沒做對的東西...
其實我切換到AJAX,現在它不扔特定的錯誤(我沒有做正確的AJAX第一次)。但現在我得到一個POST 404 Not Found錯誤:( –
你可以用AJAX做到這一點,但我簡化了我的解釋,因爲你問如何調用js函數上的c# –
謝謝你知道什麼可能導致AJAX錯誤,在任何機會?(代碼在下一個評論 - 對格式化的歉意) –