簡體   English   中英

如何將javascript變量傳遞到服務器端asp.net

[英]how to pass javascript variable to server side asp.net

我正在嘗試將javascript變量(hdnField)寫入服務器端。 在javascript代碼中,我分配了“ HiddenField”控件的值,然后我想將此值寫入服務器端。 這是我的客戶端腳本:

<script type="text/javascript">
  var hdnField = document.getElementById('<%= hdnField.ClientID%>');                        
  hdnField.value = 100; 
</script>

服務器端:

<form action="#" runat="server">
  <div class="left"><%Response.Write(hdnField.Value);%></div>
  <asp:hiddenfield id="hdnField" runat="server" ></asp:hiddenfield>
</form>

我查看了Page src,並能夠檢索到“ hdnField”:

<input id="hdnField" type="hidden" name="hdnField" value="100 ">

我不知道在哪

  <div class="left"><%Response.Write(hdnField.Value);%></div>

之所以起作用,是因為與ASP.NET Web表單相比,ASP看起來更多,但是如果您有:

<asp:hiddenfield id="hdnField" runat="server" ></asp:hiddenfield>

您可以通過以下方式在客戶端上進行讀寫:

document.getElementById('<%= hdnField.ClientID %>').value = 'XYZ';

alert(document.getElementById('<%= hdnField.ClientID %>').value);

在服務器上,您可以通過以下方式對此進行讀寫:

hdnField.Text = "XYZ";

var text = hdnField.Text;

只要hdnField不在模板或列表控件中,就可以直接在服務器上引用它,使用<asp:HiddenField>控件,您可以同時執行這兩個操作。 這樣可以彌合差距,以便您可以更改客戶端上的值,然后在回發時檢索該值。 僅當您需要在下一次回發發生之前或在ASP.NET回發生命周期的正常流程之外將值發送到服務器時,才需要AJAX。

暫無
暫無

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

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