2009-09-11 72 views
0

我有以下的HTML中獲取價值在javascript設置在後面的代碼

<div id="dvAddToGrid" runat="server"> 
<table style="margin-left:80%"> 
    <tr> 
    <td> 
    <asp:LinkButton ID="lnkAddToGrid" runat="server" Text="Add New" onclick="lnkAddToGrid_Click" OnClientClick="GetValues()" Font-Underline="True"></asp:LinkButton> 
    </td> 
    </tr> 
</table> 
</div> 

我有以下的JavaScript

function GetValues() { 

// for (i = 1; i <= 5; i++) 
// { 
//  $("#hdnTableValues")[0].value += document.getElementById("txtSerialNo_1").value+ ","; 
//  $("#hdnTableValues")[0].value += document.getElementById("txtBookName_1").value + ","; 
//  $("#hdnTableValues")[0].value += document.getElementById("txtAuthor_1").value + ","; 
//  $("#hdnTableValues")[0].value += document.getElementById("txtPublisher_1").value + ","; 
//  $("#hdnTableValues")[0].value += document.getElementById("txtNoOfBooks_1").value + ","; 
//  $("#hdnTableValues")[0].value += document.getElementById("txtRemarks_1").value + "|"; 
//   // } 
    document.getElementById("lblTableValues").innerHTML = $("#hdnTableValues")[0].value ; 

} 

在我後面的代碼我有

protected void lnkAddToGrid_Click(object sender, EventArgs e) 
     { 
      DataTable dtBookList = new DataTable(); 
      dtBookList.Columns.Add("SerialNo"); 
      dtBookList.Columns.Add("BookName"); 
      dtBookList.Columns.Add("Author"); 
      dtBookList.Columns.Add("Publisher"); 
      dtBookList.Columns.Add("NoOfBooks"); 
      dtBookList.Columns.Add("Remarks"); 
      string str = lblTableValues.Text ; 
      for(int i=1;i<5;i++) 
      { 
       DataRow dtRow = dtBookList.NewRow(); 
       //hdnTableValues.Value 
      } 
         dvBookList.Visible = false; 
      dvAddToGrid.Visible = false; 

     } 

問題是我得到js中lblTableValues的值,但在代碼behid中它不包含任何值,它的值是「」。任何人都可以幫助在代碼後面的點擊事件中獲取hdnTableValues中包含的值。

回答

2

您可以使用runat =「server」的隱藏輸入來處理這個問題。將值存儲到JavaScript中的隱藏字段中。你可以在後面的C#代碼中訪問字段值。

HTML

<input type="hidden" id="txtHidData" runat="server" /> 

的JavaScript

document.getElementById ("txtHidData").value = "your value"; 

C#

string valueInCodeBehind = txtHidData.Value; 
+0

仍然沒有得到代碼背後 – user42348 2009-09-11 05:04:43

0

使用ASP:HiddenField控件如T他的:(jQuery的例子)

頁面

或控制:

<asp:HiddenField ID="Hidden1" runat="server" Value="blank" /> 

    <asp:PlaceHolder runat="server"> 
    <script type ="text/javascript"> 
     $(function() { 
      //get the id of the hidden control 
      var clientID = "<%= Hidden1.ClientID %>"; 
      $("#" + clientID).val("this is from the client"); 
     });  
    </script> 
</asp:PlaceHolder> 

在按鈕或在後面的代碼提交方法:

Debug.WriteLine("val: " + Hidden1.Value); 
相關問題