
例如,如果用户选择了一个文本框并希望它用于firstname,那么最终我希望使用名为Firstname的公共属性动态创建一个类……依此类推.一切都是在飞行中创造的.
我想知道如何处理这个问题. Dynamic Source Code Generation and Compilation是否适用于此工作流程,或者这会使它更加复杂吗?
更新:
一个用例是,是否需要根据用户对数据库表的选择来创建表单.如果有数百个表,我将不会创建数百个视图.我知道我可以在这个例子中使用grIDvIEw,但对于所有情况,动态视图更合适.
>根据用户选择创建数据结构.
>将它们保存在数据库中以供日后使用.
>编写一个视图,该视图采用这些数据结构(作为模型)并显示它们.
> EditorTemplates可用于显示每个单独的控件,使用强类型视图.
数据
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)总结
以上是内存溢出为你收集整理的c# – 如何在ASP.NET MVC的运行时创建强类型视图?全部内容,希望文章能够帮你解决c# – 如何在ASP.NET MVC的运行时创建强类型视图?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)