情景是这样的 ...我转到了我的web应用程序的登录屏幕。我用错误的用户名/密码登录。我在我的HTML中为tab-6 @ HTML.Partial(“../../ Account/Register”)得到一个错误,因为RegisterModel没有被传入(下面的确切错误)。嗯,我没有做任何与注册屏幕上,只是登录。MVC项目,错误,因为模型没有传递到视图?
但是,我认为问题是因为注册部分总是加载。所以我在想,我不需要通过LogOnModel和RegisterModel来解决这个问题,但是可能不应该加载Register页面直到它被专门调用,我想呢?这是正确的做法,我将如何加载注册页面只有当它被调用/点击。我正在使用JQuery UI选项卡和asp.net mvc。
错误: 传递到字典的模型产品类型“Portal.Web.Models.LogOnModel”的,但这种字典需要类型的模型项目“Portal.Web.Models.RegisterModel”。
非常感谢!
<div id="tabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all" style=" position:relative; border:0px;" >
<ul class="ui-tabs-nav">
<li><a href="#tabs-1" >Home</a></li>
<li><a href="#tabs-2" >Statistics</a></li>
<li><a href="#tabs-3" >Topo Maps</a></li>
<li><a href="#tabs-4" >FAQs</a></li>
<li style="display:none;"><a href="#tabs-5">Login</a></li>
<li style="display:none;"><a href="#tabs-6">SignUp</a></li>
</ul>
<div id="tabs-1" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Home/Home") </div>
<div id="tabs-2" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Statistics/Statistics")</div>
<div id="tabs-3" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Maps/Maps")</div>
<div id="tabs-4" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Home/FAQs")</div>
<div id="tabs-5" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Account/LogOn")</div>
<div id="tabs-6" class="ui-tabs-hide ui-tabs-panel">@Html.Partial("../Account/Register")</div>
</div>
这里是我的AccountController与行动方法
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
return View(model);
}
的要求下面是额外的代码:
public ActionResult LogOn()
{
return View();
}
显示从登录我们采取行动的代码,一些加载未发生视图时,当您返回在后行动 – Jimmy
我加在底部的GET操作的视图发生的事情。谢谢 – KeelRisk