繁体   English   中英

MVC4 - 使用Partial在Layout页面中的登录框

[英]MVC4 - Login box within Layout page using Partial

我有一个布局页面,希望它有一个登录框,或显示登录用户,以及一个登出链接。

目前,我的SiteLayout.cshtml文件包含:

<body>

    <h1>Basic Finance</h1>

    <div>
        @if (Request.IsAuthenticated)
        {
            @Html.ViewBag.UserDisplay
            @Html.ActionLink("[Logout]", "LogoutUser", "User")
        }
        else
        {
            @Html.Partial("_Login")
        }
        <hr />
        @RenderBody()
    </div>
</body>

然后,我的观点/共享/,我有_Login.cshtml文件:

@model BasicFinanceUI.Models.LoginModel

@using (Html.BeginForm())
{
    @Html.ValidationSummary()
    <p>
        Username: @Html.TextBoxFor(x => x.Username) 
        Password: @Html.TextBoxFor(x => x.Password) 
        Remember Me: @Html.DropDownListFor(x => x.RememberMe, new[]
                {
                    new SelectListItem() { Text = "Yes", Value = "true"},
                    new SelectListItem() {Text = "No", Value = "false"}
                }, "Select")

        <input type="submit" value="Login" />
    </p>

}

此代码已从标准视图中移除。 我有它然后只有一个“登录”链接,而不是布局页面中的登录框。 我想改为显示一个登录框。

我的登录代码仍在我创建的名为“UserController”的控制器中。 但是,我不知道如何告诉我的登录框使用该控制器。 这是做我想要的正确方法(或者我的登录部分应该有控制器)。 可以使用我的'UserController'吗? 如果是这样,怎么样?

更改:

@using (Html.BeginForm())
{
    @Html.ValidationSummary()
    <p>
        Username: @Html.TextBoxFor(x => x.Username) 
        Password: @Html.TextBoxFor(x => x.Password) 
        Remember Me: @Html.DropDownListFor(x => x.RememberMe, new[]
                {
                    new SelectListItem() { Text = "Yes", Value = "true"},
                    new SelectListItem() {Text = "No", Value = "false"}
                }, "Select")

        <input type="submit" value="Login" />
    </p>

}

至:

@using (Html.BeginForm("Login", "User"))
{
    @Html.ValidationSummary()
    <p>
        Username: @Html.TextBoxFor(x => x.Username) 
        Password: @Html.TextBoxFor(x => x.Password) 
        Remember Me: @Html.DropDownListFor(x => x.RememberMe, new[]
                {
                    new SelectListItem() { Text = "Yes", Value = "true"},
                    new SelectListItem() {Text = "No", Value = "false"}
                }, "Select")

        <input type="submit" value="Login" />
    </p>

}

"User"是您的控制器, "Login"是处理Login的POST操作方法。

http://msdn.microsoft.com/en-us/library/dd492590(v=vs.118).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM