我想從SqlDataSource
的返回中設置一些會話變量。我能夠將值設置爲標籤/文本框/隱藏字段,但我似乎無法設置會話變量。從SqlDataSource設置會話變量
我正在使用page_load
函數來嘗試設置它們。
protected void Page_Load(object sender, EventArgs e)
{
this.Session["UserName"] = User.Identity.Name;
this.Session["EmplID"] = Eval("EmplID");
}
我有一個SqlDataSource
:
<asp:SqlDataSource ID="SQLGetEmplID" runat="server"
ConnectionString="<%$ ConnectionStrings:MAFapp %>"
SelectCommand="SELECT DISTINCT EmplID, Status FROM Employees WHERE (intLogin = @UserName) AND (Dept = N'Eng' OR Dept = N'IS') AND (Status = N'Active')">
<SelectParameters>
<asp:SessionParameter Name="UserName" SessionField="UserName" />
</SelectParameters>
</asp:SqlDataSource>
爲什麼會有人給了反對票的方法嗎?這是一個壞問題嗎?如果是這樣,那爲什麼? – Beengie 2014-12-05 22:11:26
快速問題..你有沒有穿過代碼..?你在哪裏返回從User.Identity.Name ..中選擇的EmplID的行?我很好奇你是如何解析User.Identity.Name你可以顯示所有相關的代碼也是什麼名稱回來作爲..是例如'DomainName \ Beebgie'是如此,那麼你需要拆分User.Identity .Name並返回數組中的值[1]您是否使用'PricnipalContext' – MethodMan 2014-12-05 22:15:33
User.Identity.Name正在返回沒有域的登錄名。是的,有一個標籤字段從SQLGetEmplID訪問EmplID,但我期待刪除該字段,因爲用戶不需要擁有他/她的ID。我正試圖解決交給我的一團糟。 – Beengie 2014-12-05 22:18:50