ASP.Net MVC在javasccript中获取隐藏字段值

时间:2013-04-15 19:41:17

标签: asp.net-mvc forms jquery-mobile hidden

我几次没有回复就问了同样的基本问题,但让我再试一次,尽可能简单地分解。

  1. 我有一个带有隐藏字段的强类型视图。
  2. 当视图呈现服务器端时,我将隐藏字段的值设置为模型的属性。
  3. 当视图呈现客户端时,我想获取隐藏字段的值(在服务器端呈现期间设置)并将其显示在java脚本警告框中。
  4. 这应该是一件简单的事情,但我无法使其发挥作用。我在视图中设置了一个断点,我可以看到隐藏字段被设置为正确的值。但是javascript不会显示该值。

    正在渲染的页面/视图已经过去了。当我想要显示此警报时,我将返回该页面,现在我想看到警报。

    就好像页面正在被缓存一样,因此它不使用隐藏字段的新值,而是使用旧值(从第一次访问页面开始)。如果正在缓存DOM,我如何阻止它,以便每次访问页面时,我都会获得页面的更新值而不是缓存的值?我做错了什么?

    @<input type="hidden" id="hdnShowMsg" value="@Model.ShowMsg" />
    
    <script>
    alert($('#hdnShowMsg').val());
    </script>
    

1 个答案:

答案 0 :(得分:3)

您的脚本可能会在文档完全呈现之前触发。使用jQuery document ready函数。

http://api.jquery.com/ready/

<script>
$(function() {
    alert($('#hdnShowMsg').val());
});
</script>

另请注意,jQuery Mobile文档中不支持document ready,您可能会遇到问题,具体取决于您尝试操作的DOM的哪个部分。

改为使用$(document).bind("pageinit", function() {})

http://jquerymobile.com/demos/1.2.1/docs/api/events.html