0

複数のページに複数回出現するフォームがあります。私は、このフォームを部分的な視点に置き、それを検証するためにデータ注釈を使用したいと思います。MVC - データビューを使用して同じページの複数のフォームを部分的に表示

これは私がこれまでに得たものである:

コントローラー:

public ActionResult Form() 
{ 
    return PartialView("_Form", new FormInput()); 
} 


[HttpPost] 
public ActionResult Form(FormInput model) 
{ 
    if (!ModelState.IsValid) 
    { 
     return PartialView("_Form", model); 
    } 

    return PartialView("Form", new FormInput()); 
} 

ビュー:

<div> 
    @Html.Action("Form", "Forms") 
</div> 
<div> 
    @Html.Action("Form", "Forms")  
</div> 

パーシャルビュー:このコードで

@using (Html.BeginForm("Form", "Forms")) 
{ 
    <div> 
     @Html.TextBoxFor(x => x.Name) 
     @Html.ValidationMessageFor(x => x.Name) 
    </div> 
    <div> 
     @Html.TextBoxFor(x => x.Email) 
     @Html.ValidationMessageFor(x => x.Email) 
    </div> 
    <input type="submit"/> 
} 

コントローラに戻りますちょうど腹側視野メインビューではありません。私は何を間違えますか?

これを解決する唯一の解決策は、ajax.beginformですか?私は本当に標準的なポストを使用したいと思います。

ありがとうございます!

+0

をあなたのメインビューを返すアクションメソッドは、どのようなものが見えますか? – dotnetesse

+0

えええええええええええええええええええええええんは、ページ上の異なる場所にフォームが現れるため、コントローラが異なって見えます。モデルによっていくつかのビューが返されます。 – user943369

答えて

0

コントローラのgetメソッドで 'view'を返す必要があります。

はその後、あなたがページを表示するには、部分ビューのレンダリング:

@Html.Partial("_Form", new FormInput()) 
関連する問題