发送表格问题

时间:2015-05-26 19:44:18

标签: asp.net-mvc forms

我正在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();
    }

有什么想法?

1 个答案:

答案 0 :(得分:1)

在表单中,您只有2个具有相同名称(Locality)的输入字段,这非常令人困惑。因此,在您的服务器上,您可以获得的是一个与输入字段同名的变量,因为这是在提交表单时回发的唯一信息:

public ActionResult Bilboard(Locality locality)
{
    ...
}

在您的问题中显示的代码中,Bilboard操作似乎采用了一些Billboardtest集合参数,但它们不作为表单中的输入字段出现,因此您不可能指望它们被填充。