MVC中没有表单的隐藏字段

时间:2013-03-11 15:20:57

标签: html asp.net-mvc-4

我在一个页面中没有表格,我正在使用。 有没有办法在不创建表单的情况下将某些值保留到该html。我不会以任何具体方式从此页面提交。

<!DOCTYPE html>
<html>
<head>
    <title>Show All Encounters</title>
</head>
<body>
<div class="content-wrapper clear-fix float-left"  style="height: 1px; padding: 10px;" id="list1">
    @{        
        Html.Hidden("popId", TempData["POPULATIONID"], new { id = "hidPopID" });
        Html.Hidden("popId", TempData["POPNAME"], new { id = "hidpnID" });
        Html.Hidden("popId", TempData["ROWNUM"], new { id = "hidrownumID" });
    }
 <table border="2" id="frTable" class="scroll"></table>  
 <div id='pager'></div>
 </div>
</body>
</html>
<script>
    function loadDialog(tag, event, target) {
        //debugger;
        .load($url)
      .dialog({
      ...
      , close: function (event, ui) {
            debugger;
            //if($url.contains)        
            var popId = $('#hidPopID').val();
            var rows = $('#hidrownumID').val();
            location.reload(true);
      }
        });

        $dialog.dialog('open');
    };
    </script>

关闭事件是在jquery Modal对话框中调用btw,所以语法在技术上是正确的

1 个答案:

答案 0 :(得分:2)

您可以在DOM中的任何位置保留值,但如果要将它们发送到服务器,则有几个选项:

  • 带隐藏字段的表单(你说你不想要这个)
  • 将从DOM
  • 中获取值的AJAX请求
  • 使用查询字符串中的值进行锚定

或者只是将值保留在服务器上。我想你正在使用一些可以使用的数据存储。


更新:

现在您已经显示了代码,很明显为什么它不起作用。您没有任何隐藏字段(浏览浏览器中的HTML源代码以查看它们是否缺失)。您刚刚在服务器上调用了Html.Hidden帮助程序,但您从未将结果输出到HTML

现在正确添加隐藏字段:

@Html.Hidden("popId", TempData["POPULATIONID"], new { id = "hidPopID" })
@Html.Hidden("popId", TempData["POPNAME"], new { id = "hidpnID" })
@Html.Hidden("popId", TempData["ROWNUM"], new { id = "hidrownumID" })