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); } } %>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 如何做好软件架构师
· 记录一次线上服务OOM排查
· Linux实时系统Xenomai宕机问题的深度定位过程
· 2025年广告第一单,试试这款永久免费的开源BI工具
· o3 发布了,摔碎了码农的饭碗
· SQL优化的这15招,真香!
· [.NET] API网关选择:YARP还是Ocelot?
· 将 EasySQLite 从 .NET 8 升级到 .NET 9