我有点陷入困境,我怎样才能将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());
}
}
}
}
我不知道如果有什么其他内容请帮助我们。
答案 0 :(得分:1)
为此使用子操作。 Child Action基本上就像一个普通的动作,除了它返回PartialView
而不是View
,您可以将其视为页面的可重用部分,其背后有一些逻辑。然后,您需要做的就是通过RenderAction
HTML帮助程序方法让布局页面呈现子操作。
所以,你的代码可能看起来像这样
public class AccountController
{
public ActionResult LogOn()
{
return PartialView();
}
}
您的_Layout.cshtml
只需要使用以下代码在您希望登录控件显示的位置呈现子操作。
@{ Html.RenderAction("LogOn", "Account" }); }
您的LogOn
视图剃刀代码看起来很正常。
一旦你有了这个工作,就可以很容易地进行一些改进,例如如果用户已经登录,LogOn
子动作显示LogOut
视图,或者使用JQuery拥有LogOn表单通过AJAX POST结果,使UI更好。