Asp.net mvc MVC视图aspx页面中的递归函数
我有一个递归数据结构,我希望ASP.NET在MVC程序的视图部分运行。我不清楚这是否可能。下面是C#中模型类的定义:Asp.net mvc MVC视图aspx页面中的递归函数,asp.net-mvc,Asp.net Mvc,我有一个递归数据结构,我希望ASP.NET在MVC程序的视图部分运行。我不清楚这是否可能。下面是C#中模型类的定义: 公共类递归数据结构 { 公开儿童名单; //有些类是在别处定义的,它是不相关的 公开一些关于我的话题; } ViewModel包含此类的一个实例。在ASP.NET(使用MVC)中有没有一种方法可以遍历模型,这样我就可以进行某种递归HTML生成 如果这个问题措词不当或明显,请道歉。我对MVC非常陌生。如果您尝试渲染层次树,在ASP.NET MVC中有很多方法可以做到这一点。您可以
公共类递归数据结构
{
公开儿童名单;
//有些类是在别处定义的,它是不相关的
公开一些关于我的话题;
}
ViewModel包含此类的一个实例。在ASP.NET(使用MVC)中有没有一种方法可以遍历模型,这样我就可以进行某种递归HTML生成
如果这个问题措词不当或明显,请道歉。我对MVC非常陌生。如果您尝试渲染层次树,在ASP.NET MVC中有很多方法可以做到这一点。您可以使用局部视图进行此操作,如下所示 这是您的简单分层模型
public class HierarchicalModel
{
public HierarchicalModel()
{
this.Children = new List<HierarchicalModel>();
}
public String Name { get; set; }
public List<HierarchicalModel> Children { get; set; }
}
现在,您需要在Views/Shared目录中创建一个名为例如_HierarchicalModel.cshtml的局部视图。用模型所在的命名空间替换MVCAPApplication4
@model MvcApplication4.HierarchicalModel
<li>
@Model.Name
<ul>
@foreach (var item in Model.Children)
{
@Html.Partial("_HierarchicalModel", item);
}
</ul>
</li>
@model mvcapapplication4.hierarchycalmodel
@型号.名称
@foreach(Model.Children中的var项)
{
@Html.Partial(“\u hierarchycalmodel”,item);
}
然后在视图中渲染它
@{
MvcApplication4.HierarchicalModel model = ViewBag.HierarchicalModel;
}
<p>
<ul>@Html.Partial("_HierarchicalModel", model)</ul>
</p>
@{
MVCAPApplication4.HierarchycalModel模型=ViewBag.HierarchycalModel;
}
@Html.Partial(“\u HierarchicalModel”,model)
这是一种最简单的方法。在任何情况下,您都必须关注循环引用和深层层次结构。如果您尝试渲染层次结构树,在ASP.NET MVC中有很多方法可以做到这一点。您可以使用局部视图进行此操作,如下所示 这是您的简单分层模型
public class HierarchicalModel
{
public HierarchicalModel()
{
this.Children = new List<HierarchicalModel>();
}
public String Name { get; set; }
public List<HierarchicalModel> Children { get; set; }
}
现在,您需要在Views/Shared目录中创建一个名为例如_HierarchicalModel.cshtml的局部视图。用模型所在的命名空间替换MVCAPApplication4
@model MvcApplication4.HierarchicalModel
<li>
@Model.Name
<ul>
@foreach (var item in Model.Children)
{
@Html.Partial("_HierarchicalModel", item);
}
</ul>
</li>
@model mvcapapplication4.hierarchycalmodel
@型号.名称
@foreach(Model.Children中的var项)
{
@Html.Partial(“\u hierarchycalmodel”,item);
}
然后在视图中渲染它
@{
MvcApplication4.HierarchicalModel model = ViewBag.HierarchicalModel;
}
<p>
<ul>@Html.Partial("_HierarchicalModel", model)</ul>
</p>
@{
MVCAPApplication4.HierarchycalModel模型=ViewBag.HierarchycalModel;
}
@Html.Partial(“\u HierarchicalModel”,model)
这是一种最简单的方法。无论如何,您必须关心循环引用和深层层次结构。据我所知,MVC不会自动为您遍历递归结构 您需要做的是为List或IEnumerable创建一个局部视图,为recursive_data_结构创建另一个局部视图 在IEnumerable模型的局部视图中:
@foreach (recursive_data_structure child in Model)
{
@Html.Partial("recursive_data_structureView", child)
}
在递归数据结构模型的局部视图中:
<span>Model</span>
模型
如果您想要绑定到递归数据的treeview,Telerik将其作为免费MVC包的一部分。据我所知,MVC不会自动为您遍历递归结构 您需要做的是为List或IEnumerable创建一个局部视图,为recursive_data_结构创建另一个局部视图 在IEnumerable模型的局部视图中:
@foreach (recursive_data_structure child in Model)
{
@Html.Partial("recursive_data_structureView", child)
}
在递归数据结构模型的局部视图中:
<span>Model</span>
模型
如果您想要绑定到递归数据的treeview,Telerik将其作为其免费MVC包的一部分。MVCAPApplication4究竟代表什么?它是一个项目名称,在您的情况下,用模型所在的完整名称空间替换它。您还可以使用.Namespace使用指令
@添加剃须刀
在这里您可以阅读更多关于它的信息[link]MVCAPApplication4到底代表什么?它是一个项目名称,在您的例子中,用模型所在的完整名称空间替换它。您还可以使用.Namespace使用指令@添加剃须刀代码>在这里你可以阅读更多关于它的信息[链接]