How to define form field prefix in ASP.NET MVC

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-18 14:49:10

问题


I am attempting to render a composite ProductCatalog view in ASP.NET MVC. This requires that I render multiple Product views per page. Each product view is a separate form. I need the form fields to have a prefix based on the id, so that I don't have duplicate IDs in the rendered document. Is there a way to define a prefix to be applied to all the form fields that are generated by the Html Extensions, or do I need to build this out manually?


回答1:


Yes, you can define a prefix for the controls inside your view based on the executing action, consider the following code that should be place in your GET action method:

ViewData.TemplateInfo.HtmlFieldPrefix = "DESIRED_PREFIX";

this will add the required prefix to your View controls, but in order to deal with them back when you post your page, you will need to redefine the prefix in the signature of your POST action as the following:

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

Let me know if it worked, thanks.



来源:https://stackoverflow.com/questions/5611262/how-to-define-form-field-prefix-in-asp-net-mvc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!