1

asp.net mvc3 アプリケーション内で一般的な問題に直面しています。たとえば、データ注釈を使用して定義したクライアント側の検証エラーがすべての部分ビューに表示されません。たとえば、次のデータ注釈を定義しました:-

public class Country_Validation
    {
        [Required(ErrorMessage="{0} is required.")]
        [StringLength(30, ErrorMessage="{0} is too long.",MinimumLength=1)]
        public string Description { get; set; }
    }

そして、私は次のアクションメソッドを使用ajax.beginformして呼び出され、新しいオブジェクトを作成するために部分ビューを返しCountryます:-

public ActionResult Create()
        {
            Country c = new Country();
            return PartialView("_Create",c);
        } 

次の部分ビューを返し_Createます:-

@model Medical.Models.Country

<div id = "partialWrapper">
@using (Ajax.BeginForm("Create", "Country", new AjaxOptions
{
    HttpMethod = "Post",
    InsertionMode = InsertionMode.InsertBefore,
    UpdateTargetId = "Countrytable",
    OnSuccess = "clearform"
}))
{
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Country</legend>
        <div class="editor-label">
        <strong>Country Name:-</strong>
            @Html.EditorFor(model => model.Description)
            @Html.ValidationMessageFor(model => model.Description)
        </div>
            <input type="submit" value="Create" />
    </fieldset>
 }
 </div>

countryしかし、フィールドを空のままにして新しいオブジェクトを追加しようとすると、Descriptionクライアント側の検証エラーは表示されませんが、通常のビュー (部分的ではない) を返すと、クライアント側の検証エラーはすべて正常に動作しますか? では、何が問題なのだろうか?ブラジル

4

1 に答える 1

3

最近、似たようなものに出会いました。解決策は、コンテンツの直前 (ただし、モデル タイプと using ステートメントを宣言した後) の部分ビューに次を追加することでした。

@{
    ViewContext.FormContext = new FormContext();   
}

また、新しく追加されたコンテンツの検証を有効にする JavaScript 側を扱っている次のリンクも参照してください。

http://xhalent.wordpress.com/2011/01/24/applying-unobtrusive-validation-to-dynamic-content/

于 2012-04-22T03:09:05.370 に答える