1

私は MVC3 が初めてで、値をモーダル ダイアログに返すことができるかどうか知りたいです。以下の例を参照してください。

私の .cshtml ファイルでは、[ログ] ボタンをクリックすると、ログ アクションが呼び出されます。

<button name="button" value="log" id="log">Log</button>
<div id="dialog-message" title="Input Error!">
  <p>
    <span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 7px 50px 0;"></span>
    The result from the controller is :
  </p>
</div>

私のコントローラーアクションにはこれがあります

public ActionResult Log(FormCollection collection)
{
    if(x+2!=4)
    {
       // return the value of x to the modal dialog
    }
    else
    {
       // save record to database
    }
}

jquery モーダル ダイアログに x の値を表示させたい。

jqueryスクリプトには、以下があります

$("#dialog-message").dialog({
        autoOpen: false,
        modal: true,
        buttons: {
            Ok: function () {
                $(this).dialog("close");
            }
        }
    });

    $("#log").click(function () {
        $("#dialog-message").dialog("open");
        this.defaultShowErrors();
    });

助けてください!!!

4

2 に答える 2

2

1) 結果のコンテナーと 2) 結果を取得するための Ajax 呼び出しの 2 つが欠けているようです。まずコンテナ:

The result from the controller is : <span id='result_container'></span>

そして Ajax 呼び出し:

$("#log").click(function() {
    var ajaxUrl = // set the URL for **Log** here
    $.get(ajaxUrl, function(data) {
        $("#result_container").html(data);
    });
    $("#dialog-message").dialog("open");
});

コントローラーでは、結果をプレーン テキストとして返すだけです。

if(x+2!=4)
{
   // return the value of x to the modal dialog
   return new ContentResult() { 
       Content = x, 
       ContentEncoding = System.Text.Encoding.UTF8, 
       ContentType = "text/plain" 
   };
}
于 2012-04-26T23:14:03.210 に答える
0

すべてのおかげで、私はこの記事を読んだ後、それを働かせました

http://www.matthidinger.com/archive/2011/02/22/Progressive-enhancement-tutorial-with-ASP-NET-MVC-3-and-jQuery.aspx

于 2012-04-27T23:38:53.527 に答える