Html MVC中没有表单的隐藏字段

Html MVC中没有表单的隐藏字段,html,asp.net-mvc-4,Html,Asp.net Mvc 4,我有一个表格,在一页中没有表格,我正在使用。 是否有任何方法可以在不创建表单的情况下将某些值持久化到该html。我不会从这个页面提交任何具体的方式 <!DOCTYPE html> <html> <head> <title>Show All Encounters</title> </head> <body> <div class="content-wrapper clear-fix float-lef

我有一个表格,在一页中没有表格,我正在使用。 是否有任何方法可以在不创建表单的情况下将某些值持久化到该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>

显示所有遭遇
@{        
隐藏(“popId”、TempData[“POPULATIONID”]、new{id=“hidPopID”});
隐藏(“popId”、TempData[“POPNAME”]、new{id=“hidpnID”});
隐藏(“popId”、TempData[“ROWNUM”]、new{id=“hidrownumID”});
}
函数加载对话框(标记、事件、目标){
//调试器;
.load($url)
.对话({
...
,关闭:功能(事件,用户界面){
调试器;
//if($url.contains)
var popId=$('#hidPopID').val();
var rows=$('#hidrownumID').val();
位置。重新加载(true);
}
});
$dialog.dialog('open');
};

该关闭事件位于jquery模式对话框调用内部,因此语法在技术上是正确的

您可以在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" })

“持久化某些值”是什么意思?我需要在页面上的javascript函数中使用某些值。。。对他们来说,全球化将是一件好事。我想到的一种方法是将值持久化到隐藏字段中。您需要使用Ajax来实现这一点,而不需要表单。如何使用Ajax实现这一点。据我所知,Ajax是一种无需发布或获取persay即可同步获取服务器值的方法。IE向服务器发出一个XHR请求。你的Javascript应该嵌套在tag mate中。你能给出每个的例子吗?我已经创建了隐藏字段,但是我不能用jquery代码提取它们。为什么不能用jquery代码提取它们?顺便说一下,显示jQuery代码可能有助于我们理解问题,因为现在我们只能在黑暗中拍摄。您是否有一些特定的代码遇到问题?我当然可以展示每一个例子,但我不知道这将如何修复您当前的代码。我不明白这与我所做的有什么不同,只是您没有包装所有Html。隐藏在@{}中?但我会在浏览器中快速查看生成的HTML,您将看到它有何不同:-)