1
在我AccountController
類我有這樣的:重新加載頁面,並顯示在頁面的新視圖
public ActionResult ForgotPassword(ForgotPasswordViewModel fpModel = null)
{
string method = HttpContext.Request.HttpMethod;
if (method == "GET")
{
ViewBag.Status = "CREATE_TASK";
ForgotPasswordViewModel model = this.ForgotPasswordManager.LoadForgotPasswordSettings();
if (model != null && !string.IsNullOrWhiteSpace(model.ForgotPasswordMethod) && model.ForgotPasswordMethod.Trim().ToUpper() == "TASKS")
return View(model);
}
if (method == "POST")
{
ViewBag.Status = "TASK_CREATED";
this.CreateTask(fpModel);
}
return RedirectToAction("ForgotPassword"); // Prob this is wrong?
}
然後在我看來,我有這樣的:
@model Models.Account.ForgotPasswordViewModel
<div class="container" style="background-color: #f6f6f6">
@if (ViewBag.Status == "CREATE_TASK")
{
<div class="form-group">
<h4 id="SearchWelcomeHeader">Password Request</h4>
</div>
using (Html.BeginForm("ForgotPassword", "Account", FormMethod.Post, new { role = "form", @class = "form-horizontal" }))
{
// some textboxes to fill up a password request form go in here
<button id="submit" class="btn btn-primary" style="width: 20%">Submit</button>
<button id="cancel" class="btn btn-secondary" style="width: 20%">Cancel</button>
}
}
@if (ViewBag.Status == "TASK_CREATED")
{
<p> Good Job ! You requested a new password! </p>
}
</div>
那麼,我想完成是這樣的:首先他們去那個頁面,填寫他們的密碼申請表並且他們提交,所以現在它是一個POST。所以在POST上,我使用代碼中的this.CreateTask(fpModel);
創建了一些DB中的內容。但是在此之後我想重新加載頁面,並顯示新的東西就好了,我會添加一個確定按鈕後出現過,但目前這樣的事情「的成功,我們提交您的申請!」:
@if (ViewBag.Status == "TASK_CREATED")
{
<p> Good Job ! You requested a new password! </p>
ALSO A BUTTON, Will Add Later
}
但是這並未」 t提交後,它會用「GET」請求重新加載頁面,然後再次顯示錶單。我希望他們現在看到成功消息的頁面的其他部分。
哇,優異。 ..你今天救了我:) – Bohn
你能稍微解釋一下,「返回視圖(fpmodel)是不同的嗎?它的工作原理,我現在想了解更多 – Bohn
'返回視圖(模型)'使用視圖模型,該方法通過 「ViewResult」對象是ASP.NET MVC框架,它調用 對象的ExecuteResult方法。 –