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);
}
}

%>