【问题标题】:How to set value of <input type="hidden"> in asp .net page_load without using runat="server"如何在不使用 runat="server" 的情况下在 asp .net page_load 中设置 <input type="hidden"> 的值
【发布时间】:2010-12-17 13:56:57
【问题描述】:

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

  1. 我想在 asp .net page_load 中设置值。问题是我不想使用 runat="server"。我已经尝试了以下方法,但它不起作用:

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

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

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

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

【问题讨论】:

  • 请澄清您的标题或问题。您是在尝试get 还是set 值?正如@leppie 提到的,您可以从Request.Form 中获取它(通过其“名称”属性)。如果页面上没有一些服务器端代码,设置它会比较棘手。

标签: c#


【解决方案1】:

我有时会执行以下操作,尤其是当我想要控制我的 id 时(尤其是在使用 jquery 时)。

<asp:literal id="literal1" runat="server"><input type="hidden" id="someid" value="{0}"/></asp:literal>

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

literal1.Text = string.Format(literal1.Text, "somevalue");

这并不能真正解决使用 runat="server" 的问题,但您还没有具体说明您不想这样做的原因。此外,您必须使用 request.form 获取值

更新

在 .net 4.0 中,您可以更好地控制自己的 ID。有关更多信息,请参阅此内容:

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

【讨论】:

    【解决方案2】:

    IIRC,你需要查看HttpRequest.Forms,那里的某个地方。

    【讨论】:

      【解决方案3】:

      如果该值是 POST 表单的一部分,那么您需要检查 Request.Forms 或 Request.QueryString(如果它是 GET 表单)。

      【讨论】:

        【解决方案4】:

        ad 1) 在 aspx 文件中只写 &lt;input type="hidden" value="&lt;%=GetHiddenValue%&gt;" /&gt;。并在您的代码后面定义受保护的属性

        public class MyPage : Page {
          protected GetHiddenValue { get { /*...*/ } }
        

        【讨论】:

        • 嗯,也许我误解了你的问题。您需要设置隐藏字段还是从中读取?如果设置,那么我的答案是正确的。如果读取则使用 Context.Request.Forms 集合。
        【解决方案5】:

        您可以在您的母版页 javascript 中使用它,但是控件名称不是您期望的那样,您需要使用 ClientID 来获取它。如果您不应用 runat=server ,则只能通过遍历 .aspx 文件或将其嵌入到命名标记中,然后对内部 HTML 进行字符串操作,将控件作为文本来获取。那是为了设置它。如果您需要获取值,请使用 Request[tagName] 或类似内容

        【讨论】:

          【解决方案6】:

          ad 2) 您可以在内容页面中使用简单的 html 代码并指定 ID &lt;input type="hidden" id="myHiddenField" /&gt;。然后在母版页javascript中使用document.getElementById('myHiddenField')

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-02-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-06-01
            • 1970-01-01
            • 2013-12-03
            • 2013-05-29
            相关资源
            最近更新 更多