ASP MVC 3绑定不同类型的模型

时间:2012-03-18 04:21:33

标签: asp.net-mvc c#-4.0 binding controller

假设我有两个具有相同属性“Title”的类(Product& ProductSearch)

如果我的表格中有字段:

<input type="textbox" name="Product.Title" id="Product_Title"/>

我可以使用:

将其绑定在控制器中
public ActionResult Search(Product product)

但有没有办法可以指定一个绑定参数,以便它绑定到:

public ActionResult Search(ProductSearch productSearch)

我试过[Bind(Prefix = "Product")]无济于事。

1 个答案:

答案 0 :(得分:1)

[Bind(Prefix = "Product")]应该有效。例如:

型号:

public class ProductSearch
{
    public string Title { get; set; }
}

控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Index([Bind(Prefix = "Product")]ProductSearch productSearch)
    {
        return Content(productSearch.Title);
    }
}

查看:

@using (Html.BeginForm())
{
    <input type="text" name="Product.Title" id="Product_Title" />
    <button type="submit">OK</button>
}