簡體   English   中英

在后面的代碼中獲取javascript中的值設置

[英]To get value set in javascript in code behind

我有以下HTML

<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中獲取值。但是在代碼中,因為它不包含任何值,所以它的值是“”。有人可以在后面的click事件中幫助獲取hdnTableValues中包含的值。

您可以使用帶有runat =“ server”的隱藏輸入來處理此問題。 將值存儲到JavaScript中的隱藏字段。 您可以在后面的C#代碼中訪問字段值。

的HTML

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

的JavaScript

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

C#

string valueInCodeBehind = txtHidData.Value;

像這樣使用asp:HiddenField控件:(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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM