现在,我已在我的Mvc4
项目中的.cs
文件夹中有一个名为HTMLcreator
的{{1}}类,这使得App_Code
让我在我的文件中呈现视图。
我听说这不是最好的方法,更新html
文件中的html
元素很累。
为视图创建动态html的更好方法是什么?
HTMLcreator.cs:
.cs
View使用public static string methodOne()
{
StringBuilder result = new StringBuilder();
List<Subjects> subjects = Subjects.GetAll(); // Gets a some objects
foreach (Subjects s in subjects)
{
result.Append("<p>" + s.name + "</p>");
if(s.hasChild)
{
result.Append(methodTwo(Subjects.GetChild(s)));
}
}
return Convert.ToString(result);
}
public static string methodTwo(Subjects s)
{
StringBuilder result = new StringBuilder();
result.Append("<p>" + s.name + "</p>");
if(s.hasChild)
{
result.Append(methodTwo(Subjects.GetChild(s)));
}
return Convert.ToString(result);
}
方法调用该方法。
答案 0 :(得分:2)
这里你真正需要的是helper
:
@helper methodOne(Subjects subjects)
{
foreach (var subject in subjects)
{
<p>@subject.name</p>
if (subject.hasChild)
@methodOne(Subjects.GetChild(subject))
}
}
然后在视图中的某处使用它:
<div>
@methodOne(subjects)
</div>
但是,如果您坚持自己生成HTML,最好使用System.Web.Mvc.TagBuilder
:
包含用于创建HTML元素的类和属性。 这个类用于编写帮助程序,例如在 System.Web.Helpers名称空间。
请参阅MSDN。