MVC中ASCX分部视图的Action在哪里设置

首先,我们一般在shared里面做的公用的ascx分部视图,没有特定的action,一般是把逻辑写在页面上,这样给页面载荷比较大。

事实上MVC2.0提供了一个方法,用来在页面上加载Action,通过这个方法,可以使分部视图活起来看代码。

banner.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<MvcApplication1.Controllers.Banner>>" %>
<%foreach (var i in Model)
  { %>
名称:<%=i.Title%>
網址:<%=i.Url %><br />
<%} %>

 

index.aspx

    <%Html.RenderAction("ReadASCX", new { type = 1 });%>

controller.cs
public ActionResult ReadASCX(int type)
        {
            List<Banner> model = new List<Banner>
             {
                 new Banner( "新浪", "www.sina.com",1),
                 new Banner( "搜狐",  "www.sohu.com",1),
                 new Banner( "人人网",  "www.renren.com",2),
                 new Banner( "开心网",  "www.kaixin001.com",2),
             };
            return PartialView("Banner", model.Where(i => i.Type == type).ToList());
        }

我们可以看到,实时上在action里已经做到了加载ascx的目的,而他的发起者是从前台来的。

posted @ 2011-10-28 22:39  张占岭  阅读(1549)  评论(0编辑  收藏  举报