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

sma*_*man 17 asp.net-mvc html-helper prefix asp.net-mvc-3 asp.net-mvc-2

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

Moh*_*lam 27

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

ViewData.TemplateInfo.HtmlFieldPrefix = "DESIRED_PREFIX";
Run Code Online (Sandbox Code Playgroud)

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

public ActionResult Create([Bind(Prefix = "DESIRED_PREFIX")] YOUR_ENTITY model)
Run Code Online (Sandbox Code Playgroud)

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