我在这里获得了在c#中获取输入字段值的过程:
Get value from input html in codebehind 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"];
虽然我不清楚它是如何完成的。
答案 0 :(得分:1)
你应该写
document.getElementById('<%=lblCountry_val.ClientID%>')
这是因为在大多数情况下,控件的服务端ID与其clientId不同。采取它的方法是上述。
答案 1 :(得分:1)
第一种方法 - 在aspx中,当您使用Java脚本将值设置为html字段时,Field的值不会出现在文件后面的代码(aspx.cs)中。因此,您必须执行其他页面回发以将值设置为隐藏字段,然后您才能捕获文件后面的代码中的值。
第二种方法 - 使用标记,将隐藏的字段数据提交到相关的aspx页面。然后使用 Request.Form [“lblCountry_val”] 数组捕获值。
答案 2 :(得分:0)
试试这个......
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;
}
答案 3 :(得分:0)
以下是在提交点击时设置隐藏字段的示例。
`<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>`