![](/img/trans.png)
[英]Getting a value from a JavaScript function to my ASP.NET / C# Code-Behind
[英]Not getting value of HTML input type in ASP.NET c# code-behind
我在這里獲得了在c#中獲取輸入字段值的過程:
我的aspx頁面中有一個隱藏的輸入字段,如下所示:
<input type="hidden" id="lblCountry_val" runat="server" />
隱藏字段的值通過jquery放置的位置:
<script type="text/javascript">
$(function () {
BindUserInfo();
})
function BindUserInfo()
{
document.getElementById('lblCountry_val').value = window.strcountry;
}
</script>
<script type="text/javascript" src="http://smart-ip.net/geoip-json?callback=GetUserInfo"></script>
但是當我試圖在代碼后面的Page_Load事件中獲取值時: Response.Write(lblCountry_val.Value);
什么都沒打印出來。 怎么會?
編輯我通過將隱藏的輸入字段更改為不可見的文本框,然后在標記中添加“name”屬性來完成此操作。
<input type="text" id="lblCountry_val" name="lblCountry_val" runat="server" style="display:none" />
並在代碼背后:
var txt=Request.Form["lblCountry_val"];
雖然我不清楚它是如何完成的。
你應該寫
document.getElementById('<%=lblCountry_val.ClientID%>')
發生這種情況是因為在大多數情況下,控件的服務端ID與其clientId不同。 采取它的方法是上述。
第一種方法 - 在aspx中,當您使用Java腳本將值設置為html字段時,Field的值不會出現在文件后面的代碼(aspx.cs)中。 因此,您必須執行其他頁面回發以將值設置為隱藏字段,然后您才能捕獲文件后面的代碼中的值。
第二種方法 - 使用標記,將隱藏的字段數據提交給相關的aspx頁面。然后使用Request.Form [“lblCountry_val”]數組捕獲值。
嘗試這個...
JavaScript
<script>
$(document).ready(function () {
var test = "1";
$("<%=hdn_audio_length.ClientID%>").val(test);
});
</script>
Html
<asp:HiddenField runat="server" ID="hdn_audio_length" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="button1" runat="server" Text="Click" OnClick="button1_Click" />
C#
protected void button1_Click(object sender, EventArgs e)
{
TextBox1.Text = hdn_audio_length.Value;
}
這是一個在提交點擊時設置隱藏字段的示例。
`<script>
$(document).ready(function () {
$("#submit").click(function () {
$("#<%= ccnum.ClientID%>").val($("#cc-num").val());
$("#<%= expdate.ClientID%>").val($("#cc-exp").val());
$("#<%= cvc.ClientID%>").val($("#cc-cvc").val());
});
});
</script>`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.