Использовать вошедшего в систему пользователя в запросе - PullRequest
2 голосов
/ 11 июня 2009

Я использую VisualWebDeveloperExpress2008 с Access в качестве поставщика членства.

У меня есть несколько случаев, когда я хочу, чтобы пользователи редактировали свои собственные данные. Это может включать запрос, в котором UserId должен равняться UserID пользователя, который использует сайт.

Я ожидаю использовать WHERE UserId =?, Но я не нашел, куда направить "?".

В среде IDE есть несколько вариантов, но я не уверен, что выбрать. Это, хотя выглядит многообещающе, не работает:

<SelectParameters>
    <asp:ProfileParameter Name="UserID" PropertyName="UserId" Type="Int32" />
</SelectParameters>

Что лучше всего использовать для выбора параметра?

Ответы [ 2 ]

1 голос
/ 11 июня 2009

Попробуйте использовать

<SelectParameters>
    <asp:SessionParameter Name="UserName" SessionField="CurrentUser" Type="String" />
</SelectParameters>

В Page_Load вставить следующее ...

Session["CurrentUser"] = User.Identity.Name;

Это должно сработать для вас.

1 голос
/ 11 июня 2009

User.Identity.Name должен предоставить вам имя пользователя вошедшего в систему пользователя.

Теперь, чтобы получить идентификатор пользователя, вам необходимо проверить его в базе данных, используя имя пользователя. Или вы можете сделать так, чтобы вместо оператора select использовалось имя пользователя.

...