如何在不使用runat ="server"的情况下在asp .net page_load中设置<input type ="hidden">的值

Har*_*oon 3 c#

我需要做以下两件事......

  1. 我想在asp .net page_load中设置值.问题是我不想使用runat ="server".我试过以下但是它不起作用:

HtmlInputHidden hiddenControl =(HtmlInputHidden)FindControl("a");

有没有办法在asp .net page_load中访问而不使用runat ="server"???

  1. 如果我使用,我可以这样做,但在这种情况下,我无法在母版页的javascript函数中访问它.我试过这个,但它不起作用......
    • var hdnField = document.getElementById('<%= hdnIdentity.ClientId%>');
    • var hdnField = document.getElementById("hdnIdentity").getAttribute("value");
    • var hdnField = document.getElementById("hdnIdentity").value

我需要什么...我想在母版页的javascript中访问内容页面的隐藏字段值.有办法吗???thnx提前问候Haroon haroon426@yahoo.com

Sco*_*ttE 6

我有时会做以下操作,特别是当我想控制我的id时(特别是在使用jquery时).

<asp:literal id="literal1" runat="server"><input type="hidden" id="someid" value="{0}"/></asp:literal>
Run Code Online (Sandbox Code Playgroud)

然后,在代码隐藏中,您可以使用以下内容设置值:

literal1.Text = string.Format(literal1.Text, "somevalue");
Run Code Online (Sandbox Code Playgroud)

这并没有真正使用runat ="server",但你没有说明为什么你不想这样做.此外,您必须使用request.form获取值

更新

在.net 4.0中,您可以更好地控制ID.有关更多信息,请参阅此

http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-clientid-overview.aspx