[asp.net]问︰ 访问 asp︰ 文本框的值没有在 HTML 中呈现它

发布时间: 2017/3/26 4:47:19
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我创建了 asp︰ 文本框中像这样︰

<asp:TextBox ID="tbTheBestID" runat="server" Visible="false" Text="Hello!" />

我试图访问使用 JQuery 像下面,但它返回的除非未定义的对象的文本值可见 ="true"反而是在的地方。我觉得这道理对我来说,因为它不是在源中它找不到。

    function doSomethingInJS() {
        var myVal = $("#<%= tbTheBestID.ClientID%>").val();
    }

我在找的方式访问一个变量,我宣布从 JQuery 在服务器没有可见它在源中,因为此数据可能是敏感,我不希望用户有权访问它。

这是可能的吗?谢谢你。

解决方法 1:

使用 visible="false" 将会阻止它渲染。 你需要做的就是防止它显示通过使用 CSS 类或 display: none;

您将代码改为︰

<asp:TextBox ID="tbTheBestID" runat="server" CssClass="hidden" Text="Hello!" />

并将添加到您的 CSS (请注意,许多框架可能已经有一个.hidden 类)︰

.hidden {
    display: none;
}

不幸的是,这将是可用的来源,包括任何值。

JQuery 在客户端上运行,因为它只能访问已发送的信息 (因此它必须在页后,可以看到由页)。

如果它是敏感信息,或许考虑 webservice 养活 $.ajax 调用。 请注意,这并不使数据安全,但它将曝光时间降到最低。

官方微信
官方QQ群
31647020