将数据对象渲染为html的最佳方法是什么?
考虑到我的对象应该在页面上动态绘制,它将由多个控件(Labels,TextBoxes,CheckBoxes,DropdownLists等等)组成。
我的对象是一个包含部分的报告。
每个部分都包含groups.Groups应绘制为Accordion视图。
组包含的字段将根据指定的字段类型呈现为Labels,TextBoxes,CheckBoxes或DropdownLists。
渲染该对象的最佳方法是什么?
我正在使用asp.net mvc 2
答案 0 :(得分:1)
查看DisplayTemplates。
它的工作方式如下: 你有一个ascx文件“部分视图”,与你的同名和“强类型”相同。把它放在/ Views / Shared / DisplayTemplates“。
然后你就可以使用Html.Display(“varName”,“className”);使用DisplayTemplate显示您的对象。
控制器:
ViewData["var"] = new MyClass();
查看:
Html.Display("var","MyClass");
查看/共享/ DisplayTemplates / MyClass.ascx
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyNamespace.MyClass]>" %>
<div class="Hey">
<!-- code for showing my class here -->
<% Model.Property; //Model is of type MyClass
%>
</div>
http://www.asp.net/mvc/videos/mvc2-template-customization
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
答案 1 :(得分:0)
最好的方法是创建一个View,然后使用Html
帮助器类/方法。有关详细信息,请参阅here。
这样的事情应该让你开始:
<% Html.TextBox("stringData", Model.YourString) %>
<% Html.CheckBox("boolData", Model.YourBool) %>