0

部分ビューで作成されたかなり単純なフォームがあり、jquery ダイアログにフォームをロードしています。ビューはモデルにしっかりとバインドされています。ユーザーが何も入力せずに送信ボタンをクリックすると、検証メッセージを表示する必要があります。

<div>
    <form method="post" enctype="multipart/form-data" id="ssimForm" action="Home/ProcessUploadedFile"
    onsubmit="return false;">
    <div>
        <h3>
            Select the file to be uploaded :</h3>
        <span>
            <input type="file" name="UploadFileName" id="UploadFileName" /></span>
    </div>
    <div>
        <h3>
            Select the date range :</h3>
        <span class="uslabel">From Date(MM/dd/yyyy): </span>
        <input class="usdate" id="usfromdate" name="StartDate" type="date" />
        <span class="uslabel">To Date(MM/dd/yyyy): </span>
        <input class="usdate" id="ustodate" name="EndDate" type="date" />
    </div>    
    <div>
        <br />        
        <input type="submit" id="submitButton" name="submitButton" value="Process File" />
    </div>
    @Html.ValidationSummary()
    <div class="message-success">
        <span>@ViewBag.Confirmation</span>
    </div>
    <div class="message-error">
        <span>@ViewBag.Error</span>
    </div>
    </form>  
</div>

ここで実際の問題が発生します。フォームを送信すると、メッセージが入力された validationSummary オブジェクトを確認できますが、画面にレンダリングされません。

ダイアログの内容を、サーバー側からビュー全体を取得する jquery ajax 呼び出しからの応答に置き換えると、メッセージを表示できます。これは MVC で検証の概要を返す正しい方法ではないと考えているため、このアプローチは取りたくありません。

何か不足していますか?どんな助けでも大歓迎です。

4

1 に答える 1

0

@using (Html.BeginForm()) { }ブロック がない理由がわかりません。

これは、MVC3+ の検証サマリー + 目立たない検証をすばやく簡単にセットアップする方法についての私のブログ投稿です。
http://geekswithblogs.net/stun/archive/2011/01/28/aspnet-mvc-3-client-side-validation-summary-with-jquery-validation-unobtrusive-javascript.aspx

于 2013-04-09T04:24:21.643 に答える