![](/img/trans.png)
[英]How do I call my Visual Basic function from my javascript in a Visual Studios 2010 ASP.net website?
[英]How do I call a static method on my ASP.Net page, from Javascript?
抱歉,這是一個簡單的答案,但我似乎找不到(在SO或Google上)。
我有一個aspx頁面,帶有GridView,每個記錄都有一個按鈕。
我需要做的是在每個記錄中執行一些Javascript,以從基礎頁面類中請求一些數據。 類上的方法是靜態的,因此我對實例不感興趣。
另外,我想不執行回發就調用此方法。 可以這樣做,如果可以,我該怎么做?
注意
我知道每個人總是想要代碼,但從本質上講,我正在尋找可以放入OnClientClick
事件中的代碼段。 像這樣:
<asp:Button id="myButton"
runat="server"
...
OnClientClick='PageClass.UserMustConfirm()?confirm("Are you sure you want to continue?") : true ' />
就像其他評論中已經說過的那樣,您將需要使用Ajax或PageMethods ...但是我想清除一些關於它最初是如何工作的誤解。
客戶端中運行的代碼與服務器中運行的代碼有明顯的區別-這無法直接從客戶端代碼中調用服務器代碼-怎么可能呢? 相反,您需要向該代碼“存在”的服務器發出請求,獲取響應,並在客戶端中對其進行有意義的操作-這就是PageMethods
所做的:它打開一個作為WebMethod
的方法並讓客戶端代碼可以無縫地執行某些操作。
但是你不應該那樣做。
與其依賴基本的古老框架(WebForms),不如考慮使用jQuery的$.ajax(...)
和Promise
對象以更明確,與框架無關的方式為您完成此任務。
簡短的答案:您不能直接從運行的JavaScript(至少在瀏覽器中)調用C#。
長答案:您可以使用Ajax發送服務器參數來調用C#代碼,並對返回的結果進行處理。
希望有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.