c# – 如何在ASP.NET MVC的运行时创建强类型视图?
发布时间:2020-12-15 22:15:14 所属栏目:百科 来源:网络整理
导读:我正在使用ASP.NET MVC,并且需要在运行时根据用户选择创建新视图.这些视图一旦创建,就需要保存在存储中,以便可以重复使用.我更喜欢这些视图是强类型的.当然,每个新视图的模型类都不存在,并且这些类将根据用户创建的内容具有新属性. 例如,如果用户选择了一个
我正在使用ASP.NET MVC,并且需要在运行时根据用户选择创建新视图.这些视图一旦创建,就需要保存在存储中,以便可以重复使用.我更喜欢这些视图是强类型的.当然,每个新视图的模型类都不存在,并且这些类将根据用户创建的内容具有新属性.
例如,如果用户选择了一个文本框并希望它用于firstname,那么最终我希望使用名为FirstName的公共属性动态创建一个类……依此类推.一切都是在飞行中创造的. 我想知道如何处理这个问题. Dynamic Source Code Generation and Compilation是否适用于此工作流程,或者这会使它更加复杂吗? 更新: 解决方法
您的用户选择是数据,而不是代码:
>根据用户选择创建数据结构. 数据 public class Page { public List<Control> Controls { get; set; } } public class Textbox : Control { public string Label { get; set; } public string Value { get; set; } } Page.cshtml @model Page @for (int i 0; i < Model.Controls.Count; i++) { // Render using the EditorTemplate view for the control's type @Html.EditorFor(m => m.Controls[i]) } EditorTemplates / Textbox.cshtml @model Textbox @Html.HiddenFor(m => m.ControlId) @Html.LabelFor(m => m.Value,Model.Label) @Html.TextBoxFor(m => m.Value) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 在rails配置文件和javascript之间共享变量
- Swift 1.1语言函数参数的特殊情况本地参数名外部参数名
- c# – DownloadString为https网址提供了超时,似乎可以在浏览
- 如何在Xcode 4中禁用索引?
- Oracle结合Mybatis实现取表TOP 10条数据
- C#验证一个字符串是否符合指定的正则表达式
- objective-c – objc_setAssociatedObject的密钥不断更改地
- ruby-on-rails – 如何在Rails中使用postgresql函数
- C#函数重载规则
- React Native Could not expand ZIP错误信息