Я пытаюсь установить некоторую переменную сеанса из возврата SqlDataSource
. Я могу установить значение в поле label/textbox/hidden, но я не могу установить переменную сеанса.Установить переменную сеанса из 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
быстрый вопрос .. вы шагнули через код ..? где вы возвращаете строки выбранного EmplID из User.Identity.Name ..? Мне интересно, как вы разбираете User.Identity.Name, можете ли вы показать весь соответствующий код и то, что имя возвращается, как .. это, например, 'DomainName \ Beebgie', тогда вам нужно разделить User.Identity .Имя и возвращаем значение в позиции массива [1] Используете ли вы 'PricnipalContext' – MethodMan
User.Identity.Name возвращает логин без домена. Да, есть поле метки, которое обращается к EmplID из SQLGetEmplID, но я хочу удалить его, поскольку пользователю не нужно иметь доступ к его идентификатору. Я пытаюсь исправить беспорядок, который был передан мне. – Beengie