• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NET MVC3 视图查找

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

控制器中直接return View(),将返回和控制器方法名一样的视图

return View("viewName"),将返回和控制器对应的视图目录下的viewName视图

也可以指定完全位于不同目录结构张的视图,可以使用带~符号的语法来提供完整的视图,必须提供视图的文件扩展名

return View("~/Views/Example/Index.cshtml")

HTML视图辅助方法:

Partial,RenderPartial:

2个方法功能相似,都是返回部分视图,但是RenderPartial是直接将内容写入响应流,所以必须把RenderPartial放入代码块中

例: @Html.Partial("~/Views/Home/ViewUserControl1.cshtml",model)

       @{Html.RenderPartial("~/Views/Home/ViewUserControl1.cshtml",model); }

也可以相对定位,和View的方式一样

Action,RenderAction:

区别和Partial,RenderPartial一样,功能调用一个控制器方法,返回一个视图,Action和Partial相比,可以利用控制器上下文

控制器代码:

public class HomeController : Controller
  {

        public ActionResult Index()
        {

            return View();

        }
        [ChildActionOnly]
        public ActionResult Menu()
        {
            var menu = GetMenuFromSomewhere();
            return PartialView(menu);
        }
 }

menu.cshtml有对应html视图
Index.cshtml视图中,可以调用Menu操作来显示菜单:

@Html.Action("Menu")

ChildActinOnly特性防止了运行时通过一个URL来调用Menu操作,只能通过Action或者RenderAction来调用操作,ChildActinOnly不是必须的,但是通常在进行子操作时推荐使用

在ASP.NET MVC3中,在ControllerContext中也有一个成为IsChildAction的新属性,判断是否是Acton调用

 可以给Action传递第二个参数来传递值

@Html.Action("Menu",new{options= MenuOptions{Width=400,Height=500})

对应的Menu操作

public ActionResult Menu(MenuOptions options){

   return PartialView(options);

}

可以给方法加上ActionName特性改变优先调用名

[ActionName("CoolMenu")]

这样调用时候就要使用@Html.Action("CoolMenu")


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Asp.net一个比较好用的解决FLASH被遮挡的方案发布时间:2022-07-10
下一篇:
【转】如何在ASP.NET 2.0中定制Expression Builders发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap