【问题标题】:How to define form field prefix in ASP.NET MVC如何在 ASP.NET MVC 中定义表单字段前缀
【发布时间】:2011-04-10 10:53:16
【问题描述】:
我正在尝试在 ASP.NET MVC 中呈现复合 ProductCatalog 视图。这要求我每页呈现多个 Product 视图。每个产品视图都是一个单独的表单。我需要表单字段具有基于 id 的前缀,以便在呈现的文档中没有重复的 ID。有没有办法定义一个前缀应用于由 Html 扩展生成的所有表单字段,还是我需要手动构建它?
【问题讨论】:
标签:
asp.net-mvc
asp.net-mvc-2
asp.net-mvc-3
html-helper
prefix
【解决方案1】:
是的,您可以根据正在执行的操作为视图中的控件定义前缀,请考虑以下代码应该放在您的 GET 操作方法中:
ViewData.TemplateInfo.HtmlFieldPrefix = "DESIRED_PREFIX";
这将为您的视图控件添加所需的前缀,但为了在您发布页面时处理它们,您需要在 POST 操作的签名中重新定义前缀,如下所示:
public ActionResult Create([Bind(Prefix = "DESIRED_PREFIX")] YOUR_ENTITY model)
让我知道它是否有效,谢谢。