我是编程新手,特别是 C#/Asp.Net MVC,我已经尝试了一段时间来让它工作,但我已经没有想法了。我试图在网上找到答案,但还没有提出解决方案(即使在阅读并尝试了我为类似问题找到的方法之后)。这个论坛发布新东西有点吓人,但我现在卡住了。所以我想我会试一试。
我有这个项目,我正在使用 bootstrap、asp.net 和 C# 创建一个网页,该网页将是一个类似电子商务的网站。目前我正在开发登录系统。我正在使用 SimpleMembership 并尝试创建一个登录表单,该表单不需要仅用于登录的新页面,它实际上位于共享视图上。
这是登录部分表单的视图:
@model FakeStore.ViewModels.MenuSuperiorModel
<form class="navbar-form navbar-right">
@if (!WebSecurity.IsAuthenticated)
{
using (Html.BeginForm("Autentica", "Login", FormMethod.Post))
{
<div class="form-group">
@Html.TextBoxFor(m => m.login, new { @class="form-control", placeholder="Login" })
</div>
<div class="form-group">
@Html.TextBoxFor(m => m.senha, new { @class ="form-control", placeholder="Senha"})
</div>
@Html.HiddenFor(m => m.CarrinhoCount)
<input type="submit" value="Sign in" class="btn btn-success" />
<a class="btn btn-success" href="~/Usuario/Form">Register</a>
}
}
else if (WebSecurity.IsAuthenticated)
{
<span class="label label-primary">Welcome, @(WebSecurity.CurrentUserName)!</span>
}
</form>
该视图是布局页面上另一个局部视图的子视图。
这是调用 Login Form 视图的 Partial 视图:
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
@Html.Partial("_CarrinhoCompraTopMenu")
<div id="navbar" class="navbar-collapse collapse">
<!-- vamos ver se dá problema esse _LoginMenu -->
@Html.Partial("_LoginMenu")
</div><!--/.navbar-collapse -->
</div>
</nav>
这是带有 BeginForm 方法应该调用的 Action 的控制器:
public class LoginController : Controller
{
// GET: Login
private UsuarioDAO udao;
public LoginController(UsuarioDAO udao)
{
this.udao = udao;
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("StoneECommerce", "Usuario", "Id", "Login", true);
}
}
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Autentica(MenuSuperiorModel menuSuperiorModel)
{
if (WebSecurity.Login(menuSuperiorModel.login, menuSuperiorModel.senha))
{
return RedirectToAction("Form", "Produto");
}
else
ModelState.AddModelError("login.Invalido", "Login ou senha incorretos");
return View("Index");
}
public ActionResult LoginMenu()
{
return PartialView("_LoginMenu");
}
我正在尝试获取提交按钮以将 MenuSuperiorModel 发送到 LoginController 的操作 Autentica,以便它可以对用户进行身份验证。但问题是它甚至没有采取那种行动。我尝试在其上设置断点,但未调用该操作。我错过了什么吗?我真的很感激帮助。
ps:我也没有配置自定义路由。