我正在asp.net上开发一个应用程序。我使用标准的模型绑定器 我有代码
@model Sciencecom.Models.Billboards1
@{
ViewBag.Title = "CreateBilboard";
SelectList owners = new SelectList(new SciencecomEntities().Owners.Select(m=>m.Name).ToList());
}
@using (Html.BeginForm("Bilboard", "Data", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<hr />
@Html.ValidationSummary(true)
@Html.ValidationMessage("Error")
@*владелец*@
<input type="text" name="Locality" value="345"/>
<input type="text" name="Locality" value="3435" />
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Добавить" class="btn btn-default" />
</div>
</div>
</div>
}
我在控制器上发送表单。但我有问题。我有reference-null
public ActionResult Bilboard( IEnumerable<Sciencecom.Models.Billboards1> Billboard, IEnumerable<Sciencecom.Models.Surface> test)
{
return View();
}
有什么想法?
答案 0 :(得分:1)
在表单中,您只有2个具有相同名称(Locality
)的输入字段,这非常令人困惑。因此,在您的服务器上,您可以获得的是一个与输入字段同名的变量,因为这是在提交表单时回发的唯一信息:
public ActionResult Bilboard(Locality locality)
{
...
}
在您的问题中显示的代码中,Bilboard
操作似乎采用了一些Billboard
和test
集合参数,但它们不作为表单中的输入字段出现,因此您不可能指望它们被填充。