2012-03-02 39 views
0

可以從SqlDataSource中的XML參數訪問User.Identity.Name嗎?作爲參數訪問HttpContext.Current.User.Identity.Name到SqlDataSource

 <SelectParameters> 
      <asp:ControlParameter ControlID="SelectLoadScanner1" DefaultValue="0" Name="loadId" PropertyName="loadId" /> 
      <asp:SomeParameterType DefaultValue="" Name="username" PropertyName="HttpContext.Current.User.Identity.Name" /> 
     </SelectParameters> 

我想的第二個參數SomeParameterType引用一個HttpContext.Current.User.Identity.Name

我知道你可以添加一個onInserting事件並在後面的代碼中執行它,但我寧願它在XML中如果可能的話。

感謝,

回答

0

據我知道你不能直接使用標準parameters訪問此屬性。但是你可以通過ControlParameter一個新的屬性UserName添加到您的頁/控制和訪問它:

public string UserName 
{ 
    get 
    { 
     if (HttpContext.Current == null || HttpContext.Current.User == null) 
      return null; 
     else 
      return HttpContext.Current.User.Identity.Name; 
    } 
} 

作爲另一個選項,你可以擴展基Parameter類。

+0

該解決方案的「ControlID」會用什麼? – jax 2012-03-03 12:54:42

+0

@jax:保存'UserName'屬性的控件的'ID'。 – Alex 2012-03-03 13:24:32

+0

所以如果我把它放在頁面中,我該用什麼? – jax 2012-03-04 22:21:39