2010-05-18 75 views
3

我不確定我的設計是否有缺陷,但想知道其他人有什麼要說的,我處於這種情況,我試圖通過一次點擊實現兩件事情。只需點擊一下執行客戶端和服務器端代碼?

使用:asp.net web表單

我有很少的文本框和一個GridView控件和一個按鈕一個Web表單。

如果我點擊我正在執行兩件事情

1)從服務器異步獲取數據到客戶端的按鈕(偉大的工作),並能在文本框中顯示的數據。

2)同樣的點擊我想綁定gridview。

<asp:Content ID="Content2" ContentPlaceHolderID="cphMaster" runat="server"> 
    <asp:Label runat="server" ID='Label1' >Id:</asp:Label> 

     <asp:TextBox ID="txtId" runat='server'></asp:TextBox> 

     <asp:Button ID="btnSubmit" OnClientClick="LoadDataById();" runat="server" Text="Submit" 
     onclick="btnSubmit_Click" /> 
     <br /> 
     <br /> 
     <asp:TextBox ID="txtName" runat='server'></asp:TextBox> <br /> 
     <asp:TextBox ID="txtPurpose" runat='server'></asp:TextBox> <br /> 
    <br /> 

    <asp:GridView ID="GridView1" runat="server"> 
    </asp:GridView> 
</asp:Content> 

服務器端

 protected void btnSubmit_Click(object sender, EventArgs e) 
     { 
      GridView1.DataSource = laodData(int.Parse(txtId.Text)); 
      GridView1.DataBind(); 
     } 

的Jquery:

function LoadVisitBasicByVisitId() { 


    ContactServiceProxy.invoke({ serviceMethod: "GetDataById", 
     data: { request: request }, 
     callback: function(response) { 

      processCompletedContactStore(response); 
     }, 
     error: function(xhr, errorMsg, thrown) { 
      postErrorAndUnBlockUI(xhr, errorMsg, thrown); 
     } 
    }); 
    return false; 
} 

回顧:

1) jquery script execute asynchronously to get data from server to client and display in the textboxes 
2) server side code to bind the gridview. 

問題:

如果我有的OnClientClick =「返回LoadDataById();然後它僅執行Ajax代碼,並且不執行服務器側

但如果有的OnClientClick =「LoadDataById();然後它執行客戶端和服務器,但文本框的值區域覆蓋(通過Ajax的文本框的值這樣就把)

回答

5

如果。你的jQuery函數將返回true,您的服務器端代碼會處理。返回false阻止頁面可以發佈到服務器。

還設置你的過去onClientClick="return LoadDataById();"

+0

我確實嘗試過,一旦服務器端代碼執行文本框中的值消失 – 2010-05-18 19:01:28

+0

aah,那麼應該在代碼後面註冊ajax調用腳本,這樣頁面會刷新,然後異步調用會更新文本框。我相信你的頁面在異步響應恢復之前刷新。 – derek 2010-05-18 19:07:27

+0

你將如何註冊ajax調用腳本? – 2010-05-18 19:16:13

0

我已經開發了一些與這樣的想想,我還記得,我對此沒有任何困難,

但是,如果您在jQuery中返回false,則不會發生回發。

相關問題