2011-08-03 18 views
2

私はビューとパーシャルビューを持っています。ビューのレイアウトは、このようなものです:HTTPPostのASP.NET MVC3パーシャルビュー

public class MainController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    [HttpGet] 
    public ActionResult PartialViewForm() 
    { 
     var partialViewModel= new PartialViewModel(); 
     return PartialView("_Register", partialViewModel); 
    } 

    [HttpPost] 
    public ActionResult PartialViewForm(PartialViewModel partialViewModel) 
    { 
     // if Validation is not successfull 
     return PartialView("_Register", partialViewModel); 

     // else 
     .... 
    } 
} 
:私はこのようなメソッドを持っている私のメインコントローラで

@model PartialViewModel  
<div id="form"> 
@using (Html.BeginForm("PartialViewForm", "Main", FormMethod.Post)) 
{ 
    @Html.ValidationSummary(true) 
    <table > 
     <tbody> 
      <tr> 
       <td align="left">@Html.LabelFor(model => model.Name)*</td> 
       <td>@Html.EditorFor(model => model.Name)</td> 
       <td align="left">@Html.ValidationMessageFor(model => model.Name, "")</td> 
      </tr>    
      <tr> 
       <td align="left"><input type="submit" value="Go" class="submit2"/></td> 
      </tr> 

     </tbody> 
    </table> 
} 
</div> 

<html> 
... 
<div id="MainView">@RenderBody()</div> 

<!--Partial View--> 
<div id="partialView">@Html.Action("PartialViewForm", "Main")</div> 
... 
</html> 

(_Registerと命名)私の部分図は、このようなものです

これは私がしたいことです...部分的なビューで検証が失敗したときに私はメインビューに戻っていきたいと思います...しかし、私のケースでは、検証が失敗したときの私の場合、partialv iew ...メインページのコンテンツはありません。 フォーラムには同じ種類の動作を示す記事がありますが、私は自分の問題を解決できません。誰もがそれを修正する方法を教えてくださいすることができます(あなたは私の例を変更し、それを表示することができれば、それは本当に参考になります)

おかげ

答えて

2

私は、私は完全にあなたがやろうとしているのか理解のかはわからないけど部分的には、ただそこにある - 私は何を考えていることは右である場合、私はあなたの問題は、あなたが本当にあなたのメインビューではなく、あなたの部分にフォームの提出を持つべきであるということかもしれないと思うしかし、あなただけの

[HttpPost] 
public ActionResult PartialViewForm(PartialViewModel partialViewModel) 
{ 
    // if Validation is not successfull 
    model = _db.getBlah(); //get the original model for the main view 
    return View("MainView", model); 

    // else 
    .... 
} 

を使用する必要があります作成/編集ビューのエディタをレンダリングするなど。適切なモデルを作成/更新できるように、メインビューのアクションにデータを提出する必要があります。

関連する問題