情景是這樣的 ...我轉到了我的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