如何将登录表单移动到其他位置

本文关键字:其他 位置 移动 表单 登录 | 更新日期: 2023-09-27 18:25:04

我有点卡住了,我该如何将MVC3 C#中的登录表单移动到自己创建的布局页面是用HTML完成的,这样我就可以在布局中定位登录表单,而不是点击登录链接?。我的HTML设计中有一个框,我希望LOGIN页面出现在其中。这可能吗。如果你们有什么需要的,请提前告诉我,谢谢。因此,一般来说,当我运行我的MVC3 c#应用程序时,我的登录表单会出现在第一个出现的页面上,即我的布局页面。我的控制器有以下代码:

namespace TestProject.Controllers
{
    public class ViewDeveloperController : Controller
    {
        public ActionResult Index()
        {
            using (var db = new GameZoneEntities5())
            {
                return View(db.tblDevelopers.ToList());
            }
        }
    }
}

我不知道这是否会有帮助,如果还有什么请问。

如何将登录表单移动到其他位置

为此使用子操作。子操作基本上和普通操作一样,只是它返回一个PartialView而不是View,你可以把它看作是页面的一个可重用部分,后面有一些逻辑。然后,你所需要做的就是通过RenderAction HTML助手方法让布局页面呈现子操作。

所以,你的代码可能看起来像这个

public class AccountController
{
    public ActionResult LogOn()
    {
        return PartialView();
    }
}

您的_Layout.cshtml只需要有以下代码就可以在您希望登录控件出现的位置呈现子操作。

@{ Html.RenderAction("LogOn", "Account" }); }

您的LogOn视图剃刀代码看起来就像正常的一样。

一旦你完成了这项工作,就可以很容易地进行一些改进,比如如果用户已经登录,让LogOn Child Action显示LogOut视图,或者使用JQuery通过AJAX让LogOn表单POST结果,让UI变得更好。