asp.net mvc 页面跳转及页面组合

来源:互联网 发布:一元云购指定中奖源码 编辑:程序博客网 时间:2024/04/30 09:45

页面跳转

使用MVC新的 RedirectToAction
return RedirectToAction("Index","Home");//跳转到首页。

第一个参数是action 的名字,第二个参数是控制器controller的名字,方法返回的是个ActionResult.也就是返回视图。

return RedirectToAction("Index","Home", new{mode=myMode});

第一个参数是action 的名字,第二个参数是控制器controller的名字,第三个为参数。


页面拼接

1、_layout.cshtml公共模板。使用Html.Partial(“_header”),html.Partial(“_footer”)加载页头页脚,使用RenderBody加载内容。

2、@Html.Partial 对应 @{Html.RenderPartial(....);}      @Html.Action 对应 @{Html.RenderAction(....);}

    Html.Partial可以直接提供用户控件名作为参数

    而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

3、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。
比如:@Html.Action("UserInfoControl")
在对应的UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView("LogOnUserControl");登录后,可以retun PartialView("UserInfoControl");

范例: 描述了如何在创建一个父视图里面包含多个子视图。

1.父视图

CS代码 DemoviewController.cs

public ActionResult index()
{
    return View();

Html代码 index.cshtml

<html>

    父视图的内容

    <%= Html.Action("index", "ChildView ") %>  

    <% Html.RenderAction("index", "ChildView "); %> (第一个参数是动作方法的名称,第二个参数是控制器的名称。)

  (注:这里嵌入子视图 带参数时<% Html.RenderAction("Display", new { section = "Weather" }); %>  Action方法以字符串的形式返回子视图所以要加"="号,可以直接被呈现。RenderAction方法在适当的地方呈现子视图。)

</html>

2. 子视图

例如,假设你有一个名为ChildView 的子视图 childviewController.cs

控制器包含了下面的动作方法,用于呈现子视图: 

public ActionResult index()
{
    return PartialView("index"); (表示返回的是局部视图,注意要设置视图名方便调用,return view()是返回整个视图   注:对于partialview的action,如果只是返回视图,而不是返回json和其它格式的对象,最好使用PartialViewResult 进行返回,而不要使用ActionResult,这样可以避免一些不必要的麻烦。)

它包含了要显示的HTML代码:

<div>这是子视图的内容</div> 。


原创粉丝点击