我在 ASP.NET 项目的母版页中有此代码
<div style="display:none">
<input id="txtPageIDMaster" name="txtPageIDMaster" type="text" value="0" runat="server"/>
<input id="txtOnLineUserMaster" type="text" value="0" runat="server"/>
</div>
并在脚本标记中:
alert($("#txtPageIDMaster").val())
但给我这个警报:未定义
最佳答案
这应该有效:
alert($("<%= txtPageIDMaster.ClientID %>").val())
为什么?因为asp.net为控件设置了自己的id。所以ClientID属性为您提供生成的 ID。
从 ASP.NET 4 开始,它现在基于 ClientIDMode属性(property)。可以是四个值:
ClientIDMode.Inherit
ClientIDMode.AutoID
(这是默认值,在 .NET4 之前一直如此)ClientIDMode.Peditable
ClientIDMode.Static
(这是将 html ID 设置为 asp.net ID 属性时的情况)
Asp.net MVC 不这样做。您可以完全控制您的 html,并且您的 ID 永远不会自动生成。
关于javascript - 未定义为 $ ("inputElement").val(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9544544/