Int*_*lar 0 c# asp.net encapsulation properties
我有一个文件SiteMinder.CS在App_code这里我设置了UserID谁访问的网页
public class SiteMinder : IHttpModule
{
public string UserID { get; set; }
public void Init(HttpApplication context)
{
context.PreRequestHandlerExecute += new EventHandler(Application_PreRequestHandler);
}
private void Application_PreRequestHandler(Object source, EventArgs e)
{
if (HttpContext.Current.Request.Headers != null)
{
NameValueCollection coll = HttpContext.Current.Request.Headers;
UserID = coll["uid"]; // Doesn't have NULL value
}
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个网页UserDetails.aspx.cs文件中,我正在尝试访问它,UserID但它NULL有价值.
public partial class UserDetails : System.Web.UI.Page
{
protected string SessionUser { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
SiteMinder objSite = new SiteMinder();
SessionUser = objSite.UserID;//Returns NULL
}
}
Run Code Online (Sandbox Code Playgroud)
所有这些都在同一名称空间下.请告诉我这里我错了.
你正在创建一个新 SiteMinder对象.这与设置属性的对象不同,因此该属性将具有默认值(null).
您需要获取对SiteMinder设置属性的原始对象的引用- 或者将值存储在其他位置(例如HttpContext).
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |