2012-08-01 54 views
-1

我在aspx.cs頁面中有方法,我想在選擇框更改事件後在javascript函數的.aspx頁面中訪問此方法,因爲selectbox選項將更改值更改爲傳遞給aspx。 cs頁面的方法。並將該值綁定到另一個具有該值的選擇框來自Web服務。在javascript中訪問服務器端方法

+0

聽起來好像要' AutoPostBack = True'。 – Yuck 2012-08-01 14:30:10

+0

您必須執行回發,或發出Ajax請求。 – 2012-08-01 14:31:11

+0

沒有財產Autopostback? – jayu 2012-08-01 14:34:01

回答

2

您可以通過使用UpdatePanel並將此控件定義爲AsyncPostBackTrigger並使用AutoPostback =「True」或使用WebMethod() attribute在頁面中定義Async方法,然後使用jQuery來訪問服務器端的OnCheckChanged方法處理程序/ Javascript來執行請求。

+0

我更喜歡WebMethod屬性,並使用PageMethods從JavaScript調用它。 – Nathan 2012-08-01 14:49:15

+0

因爲'PageMethods'未定義,所以會給出錯誤信息 – jayu 2012-08-06 08:02:24

+0

請確保您的頁面導入System.Web.Services ...將(希望)解決此問題。另外,請確保語法是 _ not _ – 2012-08-06 14:24:34

0

要訪問的服務器端方法的JavaScript函數內部以下需要被覆蓋:

1)背後方法中的代碼必須具有「的WebMethod」的屬性和應該是一個靜態方法。

2)ScriptManager必須添加到窗體標籤中。

3)PageMethods。來調用方法後面的代碼。後面的片段

代碼:

[Webmethod] 
Public static IamServerMethod() 
{ 
//Your logic goes here 
} 

ASPX文件片段:

添加腳本經理:

<asp:ScriptManager ID="ScriptMgr" runat="server" EnablePageMethods="true"> 
</asp:ScriptManager> 

裏面的JavaScript函數:

Function IamJavascriptFunction() 
{ 
PageMethods. IamServerMethod(); 
}