【问题标题】:Reading asp HiddenField in javascript在javascript中读取asp HiddenField
【发布时间】:2015-03-18 19:43:23
【问题描述】:

在 .NET 4.5 中...

我正在尝试读取这个隐藏字段:

<asp:HiddenField ID="test2" runat="server" Value="" Visible="false" ClientIDMode="static"/>   

这里后面的代码中设置了哪个值:

public static string TestSessionValue
        {
            get
            {
                object value = HttpContext.Current.Session["TestSessionValue"];
                return value == null ? "" : (string)value;
            }
            set
            {
                HttpContext.Current.Session["TestSessionValue"] = value;
            }
        }

TestSessionValue = String.Format("EmployeeCredential_ViewList.aspx?" + Employeeid + "={0}&" + StrIsadmin + "={1}", _empCredential.EmployeeId, IsAdmin);

test2.Value = TestSessionValue;

然后我尝试像这样读取 javascript 中的值:

var hv = $('input[id$=test2]').val();

我也试过这个没有成功:

var hv = $('#test2').val();

如何在 javascript 中成功读取 asp HiddenField 值?

【问题讨论】:

  • 您使用的是什么版本的 .NET?这会影响ClientIDMode 的工作方式。

标签: javascript asp.net


【解决方案1】:

你需要删除Visible="false"然后它会工作或使用这个Visible="true"

所以请替换这个:-

<asp:HiddenField ID="test2" runat="server" Value="" Visible="false" ClientIDMode="static"/>

与:-

<asp:HiddenField ID="test2" runat="server" Value="" Visible="true" ClientIDMode="static"/>

然后尝试通过

获得价值

$("#test2").val()

或任何你为获得价值而写的东西

希望它会有所帮助?

【讨论】:

  • 完全忽略了这一点,服务器甚至不会为客户端呈现该控件。 +1
【解决方案2】:

使用 ID 获取:

    <script type="text/javascript">
        $(document).ready(function () {
            var hv= $('#test2').val();
        });
    </script>

更多信息在这里:Get Value for Hidden Field

【讨论】:

  • 根据调试器,hv 是未定义的。
  • 我更新了帖子并澄清一下,我已经验证 test2 在后面的代码中设置了正确的值。
  • 确保 jquery 在页面加载完成后运行 $(document).ready(function () { }
【解决方案3】:

在您的 hiddenfield 元素中,您正在使用属性 Visible="false",这意味着隐藏字段不会呈现到 Web 表单中,请删除该属性并尝试。 无论如何,隐藏字段在网络表单中将不可见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多