1

作業している 1 つのページにテーブルがあり、フォームがありません。フォームを作成せずに特定の値をその 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モーダルダイアログコールbtwの内部にあるため、構文は技術的に正しいです

4

1 に答える 1

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" })
于 2013-03-11T15:22:34.980 に答える