为了账号安全,请及时绑定邮箱和手机立即绑定

每次请求都在 ViewData/ViewBag 中设置数据与调用操作方法来获取数据相比有优势吗?

每次请求都在 ViewData/ViewBag 中设置数据与调用操作方法来获取数据相比有优势吗?

C#
元芳怎么了 2022-07-23 17:40:59
我正在尝试在我的 _Layout.cshtml 中显示用户的个人资料图片,但不确定是否应该在 ViewBag/ViewData 中设置每个请求的文件路径,或者创建一个返回文件路径的操作方法。两种方法之间是否有任何性能考虑?
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超8个赞

好吧,如果您在 ViewBag / ViewData 中设置数据,则在生成页面时会处理此数据。如果您创建一个专用的操作方法,那将意味着只向网络服务器发出一个额外的请求。由于路径很短且关联的数据很小,因此调用额外的控制器方法应该会稍微慢一些。



查看完整回答
反对 回复 2022-07-23
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

你可以试试这个


public class GlobalViewBagFilter : ActionFilterAttribute

{

    public override void OnActionExecuting(ActionExecutingContext filterContext)

    {

       filterContext.Controller.ViewBag.UserImage = "Your Image Path";

    }

}

将其添加到 App_start 文件夹的 FilterConfig 中


 public class FilterConfig

 {

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)

    {

       filters.Add(new GlobalViewBagFilter ());

    }

  }

现在您可以在应用程序中获取 ViewBag.UserImage _Layout。


查看完整回答
反对 回复 2022-07-23
  • 2 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号