mvc中的ViewData用到webfrom中去

 public class UserControlPageHelper : UserControl
    {
        protected IDictionary<string, object> ViewData
        {
            get
            {
                return
                    (Dictionary<string, object>)
                    (Session["ViewData"] ?? (Session["ViewData"] = new Dictionary<string, object>()));
            }
        }
        protected override void OnUnload(EventArgs e)
        {
            base.OnUnload(e);
            if (Session["ViewData"] == null) return;
            Session.Remove("ViewData");
            GC.Collect();
        }

        protected dynamic Model
        {
            get { return ViewData["Model"]; }
            set { ViewData["Model"] = value; }
        }
  }
}

 

      分别继承MasterPage, Page 和 UserController 类
      注意一点 判断 ViewData.ContainsKey("x")

      用法:(前台代码)

 <% if (ViewData.ContainsKey("__tip"))
       {
           string tip = (string)ViewData["__tip"];
           if (!string.IsNullOrEmpty(tip))
           {
               Response.Write(tip);
           }
       }
       if (ViewData.ContainsKey("__refresh"))
       {
           string refresh = (string)ViewData["__refresh"];
           if (!string.IsNullOrEmpty(refresh))
           {
               Response.Write(refresh);
           } 
       }
       
    %>
posted @   曾祥展  阅读(1716)  评论(0编辑  收藏  举报
编辑推荐:
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 如何做好软件架构师
· 记录一次线上服务OOM排查
· Linux实时系统Xenomai宕机问题的深度定位过程
阅读排行:
· 2025年广告第一单,试试这款永久免费的开源BI工具
· o3 发布了,摔碎了码农的饭碗
· SQL优化的这15招,真香!
· [.NET] API网关选择:YARP还是Ocelot?
· 将 EasySQLite 从 .NET 8 升级到 .NET 9
点击右上角即可分享
微信分享提示