如何在ASP.NET MVC中定义表单字段前缀

时间:2011-04-10 10:53:17

标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-3 html-helper prefix

我试图在ASP.NET MVC中呈现复合ProductCatalog视图。这要求我每页渲染多个Product个视图。每个产品视图都是一个单独的表单。我需要表单字段具有基于id的前缀,以便我在呈现的文档中没有重复的ID。有没有办法定义要应用于Html扩展生成的所有表单字段的前缀,还是需要手动构建它?

1 个答案:

答案 0 :(得分:26)

是的,您可以根据执行操作为视图中的控件定义前缀,请考虑应在GET操作方法中放置的以下代码:

ViewData.TemplateInfo.HtmlFieldPrefix = "DESIRED_PREFIX";

这会将所需的前缀添加到View控件中,但为了在发布页面时将其处理回来,您需要在POST操作的签名中重新定义前缀,如下所示:

public ActionResult Create([Bind(Prefix = "DESIRED_PREFIX")] YOUR_ENTITY model)

让我知道它是否有效,谢谢。