加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在asp.net mvc中如何使用usercontrols来显示“岛”数据?

发布时间:2020-12-15 20:40:35 所属栏目:asp.Net 来源:网络整理
导读:我试图找出如何在asp.net mvc中使用usercontrols.我知道如何添加一个用户控件到一个视图和如何传递数据到它.我不能弄清楚的是,如何在每个控制器中检索和传递数据? 例如,如果我有一个用户控件显示站点中的几个但不是所有页面上的最新帖子,那么如何编写控制器
我试图找出如何在asp.net mvc中使用usercontrols.我知道如何添加一个用户控件到一个视图和如何传递数据到它.我不能弄清楚的是,如何在每个控制器中检索和传递数据?

例如,如果我有一个用户控件显示站点中的几个但不是所有页面上的最新帖子,那么如何编写控制器,以便我获取该用户控件的数据,并将其从只有一个将其传递给用户控件放置在网站上,而不是在使用用户控件的每个不同控制器中获取和传递数据?

我不知道这是否有意义.是否有更好的或推荐的方式来处理您要在几页上显示的“岛”数据?

我来自网络表单,我可以写一个用户控件,它拥有自己的数据,并显示独立于其它任何页面的数据.

解决方法

有多种方法可以做到这一点.

基本的做法是

>在BaseController中填充视图的数据(OnActionExecuting事件)
>编写自定义动作过滤器
>编写应用程序控制器(例如,在下面的链接中).

OnActionExecuting的一个例子是

[HandleError]
    public class BaseController : Controller
    {
        CourseService cs = new CourseService();
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            List<Tag> tags = cs.GetTags();
            ViewData["Tags"] = tags;
        }

    }

您可以在任何视图中使用“标签”视图数据.这只是用户控件呈现为侧面内容的示例.

<div id="sidebar_b">
         <asp:ContentPlaceHolder ID="ContentReferenceB" runat="server" >
             <% Html.RenderPartial("Tags"); %>
         </asp:ContentPlaceHolder>
   </div>

我发现以下URL是有用的.

http://weblogs.asp.net/stephenwalther/archive/2008/08/12/asp-net-mvc-tip-31-passing-data-to-master-pages-and-user-controls.aspx

http://blog.matthidinger.com/2008/02/21/ASPNETMVCUserControlsStartToFinish.aspx

http://www.aaronlerch.com/blog/2008/01/26/displaying-foo-on-every-page-of-an-aspnet-mvc-application/

http://blog.wekeroad.com/2008/01/07/aspnet-mvc-using-usercontrols-usefully/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读