0

私は、MVC3 の部分的なビューで少しわだ​​ち掘れになっています。私がやろうとしているのは、ページの 1 つに部分ビューを配置し、部分ビューのデータをモデルに格納してメイン ビューに戻すことです。ただし、現在発生しているのは、データを送信した後、コントローラーに返されたモデルの部分ビュー モデルが null に設定されていることです。

モデル

public class MyModel {
    ...(other variables)...

    [Required]
    [NotMapped]
    public virtual MyPartialView myPartial { get; set; }
}

意見

@model MvcPartialViewExample.Models.MyModel

@{
    ViewBag.Title = "Create";
}

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>

    ...(other data)...

    @{ 
        Html.RenderPartial("_MyPartialView", Model.MyPartialView, new ViewDataDictionary());
    }
    <p>
        <input type="submit" value="Create" />
    </p>
</fieldset>
}

<div>
      @Html.ActionLink("Back to List", "Index")
 </div>

コントローラ

public class MyModelController : Controller
{
    private MyModelContext db = new MyModelContext();

    //
    // GET: /PartialViewTesting/Create

    public ActionResult Create()
    {
        return View(new MyModel());
    } 
4

1 に答える 1

2

Model.MyPartialViewオブジェクトをコントローラーに戻す場合は、別の Action メソッドをコントローラーに追加する必要があります。次のようになります。

[HttpPost]
public ActionResult Create(MyPartialView model)
{
    // handle postback here
}
于 2012-08-20T17:55:04.210 に答える