在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
控制器中直接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视图 @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") |
请发表评论