ASP.NET MVC 3动态控件
我是MVC的新手,想知道如何在MVC3中动态创建控件?在我的情况下,情况是有一种形式,候选人进入他的工作经验,他可以添加多个条目,根据他以前工作过的公司数量.所以用户输入细节的控件集必须在用户说“添加另一个”时动态添加.
我有点像谷歌,但是使用jquery创建控件不能太多.我的主要问题是如何动态渲染控件,然后在提交表单时获取它们的值. 如果有人可以在这里提出一些样品/教程,那将是很棒的 解决方法
你明显来自
Asp.net WebForms背景,因此将MVC与WebForms相比较有一点问题.
通常在客户端上添加动态控件 添加额外的HTML元素是简单地在客户端上完成的,因为它快速,方便,不需要服务器端状态保存.并且因为(几乎)没有必要在服务器上加载这些.你可能已经发现,Asp.net MVC与Asp.net WebForms完全不同. 一个容易理解的例子 所以最简单的方法是在客户端上加载模板,然后根据该特定的模板添加新的项目. This JSFiddle shows you how.如果您不能在HTML中提供模板,您可以随时通过Ajax加载它,但是只有当有以下任何一种时, >添加太多不同的模板 – 一个例子是一个用户列表的页面,每个用户需要一个复杂的模板,这可以减缓由于DB请求和膨胀的HTML 基本上我使用jQuery和它的.tmpl()插件来快速地生成复杂的项目(复杂的,我的意思是不是由一个HTML元素组成),具有正确的命名和ID等等.控制名称对应于Asp.net MVC的工作原理.这些生成的字段将容易地建模绑定到此控制器动作方法: public ActionResult Experiences(Experience experience) { // do what's appropriate } 此代码中使用的相关类(仅相关属性): public class Experience { [Required] public IList<Company> Companies { get; set; } ... } public class Company { [Required] public string Name { get; set; } ... } 模型结合IList T是这里的想法 基本上每当你模型绑定到IList< T> (当您动态添加新的和新的控件时,基本上会发生这种情况)您正在使用正确的输入形式命名,需要在客户端上解决问题.您可以在my blog post中阅读与此有关的所有细节,以及我在哪里解释问题,并提供一些类似于此的解决方案.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC单向路由
- asp.net-mvc-3 – MvcMiniProfiler 1.9 – VS或运行时无法识
- asp.net – 迁移匿名配置文件的最佳方式
- asp.net – 以编程方式从GridView添加和删除事件
- 在ASP.net Pages中在源视图和设计视图之间移动的快捷键
- asp.net-core – 返回404页面,不重定向
- asp.net – 在同一行(左右)对齐标签和文本框
- asp.net-core – .NET Core 1.0 – 如何使用xUnit命令行运行
- asp.net-mvc – ViewBag在RedirectToAction之后为NULL(View
- 如何在ASP.NET全球化中配置不变文化?
- asp.net-mvc-4 – SimpleMembership – 向UserPr
- MiniProfiler NET Core
- asp.net-core – AuthorizationHandler和数据库依
- asp.net – 以URL结尾的问题
- asp.net-mvc – 如果有的话,设计模式在实现基于用
- asp.net – 在C#中,如何将用户重定向到访问被拒绝
- asp.net – RDLC报告>图表>如何垂直显示列名称/标
- asp.net-mvc – 尝试使用TeamCity构建asp.net mv
- asp.net-core – 在Microsoft.AspNet.Http.HttpC
- asp.net-mvc – Asp.Net MVC和Session