c# - HtmlFieldPrefix 未映射到模型

标签 c# asp.net-mvc-3

您好,我最近开始开发一个主要基于 JQuery/JQueryUI 的 ASP .Net 网站。这个想法是只有一个页面,其余内容是动态的,等等,通过对话框和 ajax 加载。

问题是,当同一模型的创建和编辑表单同时在对话框中打开时,一些 JQueryUI 小部件(例如 DatePicker)停止工作,因为表单导致 DOM 在字段上具有重复的 id两者都存在。

所以我尝试在 Controller 上使用这段代码:

ViewData.TemplateInfo.HtmlFieldPrefix = "Create"; // or Edit etc

这解决了 DatePicker 问题,但字段在回发到 Controller 时不再映射到模型。

有人知道如何解决这个问题吗?

最佳答案

您可以尝试在回绑定(bind)时指定相同的前缀:

[HttpPost]
public ActionResult Create([Bind(Prefix = "Create")] CreateViewModel model)
{
    ...
}

关于c# - HtmlFieldPrefix 未映射到模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5112522/

相关文章:

c# - C#如何判断一个表是否存在

c# - 将通用列表转换为从列表派生的类

c# - 在 ADAM 中以编程方式管理自定义属性

c# - 如何根据 ViewBag 中包含列表的元素显示文本框

asp.net-mvc-3 - nHibernate 二级缓存,带有 memcached 和随机无效强制转换

c# - 什么时候创建变量?

c# - 有没有办法简化具有多对一关系的 Linq 查询?

c# - 将服务注入(inject)基本 Controller 类

asp.net - 当无效参数传递到 ASP.NET MVC Controller 时,如何返回 404 状态?

html - 文本区域的最大长度在 IE 中不起作用