1

認証されたユーザーの姓名を表示したいと思います。現在認証されているユーザーを取得する「WebSecurity」クラスの「CurrentUserName」プロパティがあることは知っていますが、その姓名を取得するにはどうすればよいですか?

ユーザー テーブルのクエリを実行しようとしましたが、SQL クエリの行に関するエラー メッセージが常に表示されます (var UserData の開始 ...): ',' 付近の構文が正しくありません

コードセクションで:

@{

// Initialize general page variables
var authenticatedUser = "";
var authenticatedUserFirstName = "";
var authenticatedUserLastName = "";

if (WebSecurity.IsAuthenticated) {
    authenticatedUser = WebSecurity.CurrentUserName;
    var db = Database.Open("MyDatabase");
    var UserData = db.QuerySingle("SELECT (FirstName, LastName) FROM Users WHERE LOWER(Email) = LOWER(@0)", authenticatedUser);
    authenticatedUserFirstName = UserData.FirstName;
    authenticatedUserLastName = UserData.LastName;
    }
}

マークアップ セクション:

@if (WebSecurity.IsAuthenticated) {
                            <p>
                                Hello, <a class="username" href="~/Account/ChangePassword" title="Change password">@authenticatedUserFirstName @authenticatedUserLastName</a>!
                                <a href="~/Account/Logout">Logout</a>
                            </p>

...

4

1 に答える 1

1

SQL の FirstName フィールドと LastName フィールドの周囲から括弧を削除します。

"SELECT FirstName, LastName FROM Users WHERE LOWER(Email) = LOWER(@0)"
于 2012-06-15T08:07:52.590 に答える