Asp.net mvc 4 提交视图上带有RenderPartial的模型
想象一下: 有一种观点。 有一个模型具有以下形式的此视图:Asp.net mvc 4 提交视图上带有RenderPartial的模型,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,想象一下: 有一种观点。 有一个模型具有以下形式的此视图: Id List<Food> 这是在1模式 我有一个在这个模型中的视图。 然后我有一个局部视图,它接收列表并将其呈现在屏幕上。 但是,当表单提交时(按钮位于主视图上),数据无法绑定/未显示在模型中 能够将数据绑定回的正确方法是什么 当我把整个东西放在主视图中时,它确实起作用,但由于可重用性的原因,将它放在局部视图中是有意义的,这样我就可以将它“放到”任何页面上并传递数据 局部视图包含以下内容: @model List<
Id
List<Food>
这是在1模式
我有一个在这个模型中的视图。
然后我有一个局部视图,它接收列表并将其呈现在屏幕上。
但是,当表单提交时(按钮位于主视图上),数据无法绑定/未显示在模型中
能够将数据绑定回的正确方法是什么
当我把整个东西放在主视图中时,它确实起作用,但由于可重用性的原因,将它放在局部视图中是有意义的,这样我就可以将它“放到”任何页面上并传递数据
局部视图包含以下内容:
@model List<FoodProject.Web.Models.FoodViewModel>
而不是:
ModelName[0].PropertyName
模板编辑器就快到了,但给了我:
ModelName.[0].Id
我相信这就是为什么在发布时,我在模型集合中返回空值的原因
我怎样才能使它尊重模型绑定?我哪里出错了?您应该熟悉编辑器模板,因为这对我很有用。我将展示我的例子,也许它会帮助你看到你错了什么 模型:
public class TestModelA
{
public List<TestModelB> PropA { get; set; }
}
public class TestModelB
{
public string PropB { get; set; }
}
主要观点:
@model MvcTest.Models.TestModelA
@using (Html.BeginForm())
{
@Html.EditorFor(m => m.PropA)
<input type="submit" value="Submit" />
}
@model MvcTest.Models.TestModelA
@使用(Html.BeginForm())
{
@EditorFor(m=>m.PropA)
}
ModelName.[0].Id
public class TestModelA
{
public List<TestModelB> PropA { get; set; }
}
public class TestModelB
{
public string PropB { get; set; }
}
@model MvcTest.Models.TestModelB
@Html.EditorFor(m => m.PropB)
@model MvcTest.Models.TestModelA
@using (Html.BeginForm())
{
@Html.EditorFor(m => m.PropA)
<input type="submit" value="Submit" />
}