考虑以下模型:
public class BandProfileModel
{
public BandModel Band { get; set; }
public IEnumerable<Relationship> Requests { get; set; }
}
以下表格:
<% using (Html.BeginForm()) { %>
<%: Html.EditorFor(m => m.Band) %>
<input type="submit" value="Save Band" />
<% } %>
发布以下操作:
public ActionResult EditPost(BandProfileModel m, string band)
{
// stuff is done here, but m is null?
return View(m);
}
基本上,我的模型中只有一个属性用于表单中。 BandProfleModel中的另一个属性仅在UI中用于其他数据。我正在尝试仅更新Band属性,但对于每个帖子,参数“m”始终为null(具体而言,.Band属性为null)。
它对于动作发布得很好,所以这对我的路线来说不是问题。只是数据为空。
字段的ID和名称属性是BAND_whatever和Band.whatever(无论是Band的属性),所以看起来它会起作用......
我做错了什么?我如何只使用一个属性作为表单的一部分,回发,并通过模型绑定器为动作中的BandProfileModel属性填充值?感谢。
答案 0 :(得分:1)
没关系。这是由于“带”字符串参数。这令人困惑。我改变了它,它的工作原理。
答案 1 :(得分:1)
您正在创建Band的编辑器,其类型为BandModel,但在您的操作中期望使用BandProfileModel。在EditPost操作中接受BandModel。或者为BandProfileModel创建编辑器。