输出变量带有隐藏字段

时间:2015-02-21 20:41:51

标签: javascript asp.net

我遇到了问题。我通过js

在hiddenField中添加值
function isEmail() {
        document.getElementById('hidden').innerHTML = "1111111";
    }

<input type="button" value="Button1" onclick="isEmail()">
<form id="Form1" runat = "server">
 <asp:HiddenField ID="hidden" runat="server" ></asp:HiddenField>
 <asp:Button ID="Button1" runat="server" Text="Button"     onclick="Button1_Click" ></asp:Button>
 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </form>

我创建一个字符串变量,它放置隐藏字段的值并推导出变量

protected void Button1_Click(object sender, EventArgs e)
{

    string hidden = this.hidden.Value;
    Label1.Text = "=" + hidden;

}

标签是空的,为什么这段代码不起作用? 感谢

1 个答案:

答案 0 :(得分:0)

您正在使用asp.net控件,这意味着将生成唯一的客户端ID。它不会被“隐藏”。你可以尝试:

function isEmail() {
        document.getElementById('<%= hidden.ClientID %>').innerHTML = "1111111";
    }

将控件的实际ClientID输出到脚本中,以便可以引用它。 此外,您可以将HiddenField控件的ClientIDMode设置为static,这将导致它将客户端ID的名称生成为“hidden”。

<asp:HiddenField ID="hidden" runat="server" ClientIDMode="static" ></asp:HiddenField>

https://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode%28v=vs.110%29.aspx