Asp.net 创建三列布局,全部为动态
我想使用Visual Studio 2013中的MVC模型在asp.net中创建一个动态网站 所有列都将具有动态内容,每个列根据用户操作或控制器的不同选择更改其内容 如何创建这三个动态列 我已经有了HTML和CSS的布局,但我需要将这三列分开,并有可能从我的控制器中更改它们的内容 稍后编辑:Asp.net 创建三列布局,全部为动态,asp.net,asp.net-mvc,layout,Asp.net,Asp.net Mvc,Layout,我想使用Visual Studio 2013中的MVC模型在asp.net中创建一个动态网站 所有列都将具有动态内容,每个列根据用户操作或控制器的不同选择更改其内容 如何创建这三个动态列 我已经有了HTML和CSS的布局,但我需要将这三列分开,并有可能从我的控制器中更改它们的内容 稍后编辑: 在我的例子中,我在网站上有两个菜单,一个在左边,另一个在右边。实际上他们是三个,另一个在上面。当我从顶部选择某项内容时,必须根据顶部选择显示左侧菜单。您可以使用ViewBag或ViewData填充每列。因此
在我的例子中,我在网站上有两个菜单,一个在左边,另一个在右边。实际上他们是三个,另一个在上面。当我从顶部选择某项内容时,必须根据顶部选择显示左侧菜单。您可以使用
ViewBag
或ViewData
填充每列。因此,在布局中,使用这些数据来计算这些列,例如:
1)调用此操作将更改指定内容:
public ActionResult MyView()
{
// you can put anything in this ViewBag,
// a string, a list of something and then use it in the view
// Its dinamyc
ViewBag.Column1 = "My content column 1";
ViewBag.Column2 = "My content column 2";
ViewBag.Column3 = new string[] {"Product1", "Product1", "Product1"};
}
<div id='column1'>
@ViewBag.Column1
</div>
<div id='column2'>
@ViewBag.Column2
</div>
<div id='column3'>
<ul>
@foreach(var s in ViewBag.Column3)
{
<li>
@s
</li>
}
<ul>
2)在版面中使用此数据以生成动态内容:
public ActionResult MyView()
{
// you can put anything in this ViewBag,
// a string, a list of something and then use it in the view
// Its dinamyc
ViewBag.Column1 = "My content column 1";
ViewBag.Column2 = "My content column 2";
ViewBag.Column3 = new string[] {"Product1", "Product1", "Product1"};
}
<div id='column1'>
@ViewBag.Column1
</div>
<div id='column2'>
@ViewBag.Column2
</div>
<div id='column3'>
<ul>
@foreach(var s in ViewBag.Column3)
{
<li>
@s
</li>
}
<ul>
@ViewBag.Column1
@ViewBag.2
@foreach(ViewBag.Column3中的变量s)
{
-
@
}
您应该在此处查看更多信息:
public ActionResult Part1()
{
return View();
}
public ActionResult Part2()
{
return View();
}
public ActionResult Part3()
{
return View();
}
然后在你的公共页面上给他们打电话。
例如:
@Html.Action(“第1部分”)
@行动(“第二部分”)
@行动(“第三部分”)
可以在控制器的视图中包含选择条件控件。i、 e.如果您需要第一个区块的下拉列表。将其放置在零件1视图中。另外,为了使其异步,您可以在所有三个视图中使用Ajax表单。这是否意味着每个控制器都必须具有所有这三个ActionResult?不。只有一个控制器具有它,然后您可以在任何地方使用它。要从其他控制器访问它,您可以使用@Html.Action(“Part1”,“ControllerNameWherePart1IsDefined”)是的,但我仍然需要调用它!我想我有一个解决办法,但我不知道它有多好。我想用一个基本的控制器来定义这三个部分,然后在控制器代码的末尾调用left和right View()s。中柱是主视图()。我认为这不是一个解决方案,因为我必须在每个控制器中重新填充这三个柱。第二种方法是分段,这似乎是一种更好的方法。我将尝试为我的案例做一些测试,然后我会带着细节回来。