在我的MVC 4應用程序中,我有一個索引視圖。在這個視圖中,我有兩個部分視圖呈現的div標籤。有兩個按鈕在點擊時使用jQuery在這兩個div之間切換。部分視圖是每個模型的強類型。ASP .NET MVC 4視圖包含兩個部分視圖,每個視圖都有一個表格
問:
我如何通過這些模型的局部視圖? 如何處理部分視圖中的POST請求? 在POST操作方法中,如果ModelState無效,我該如何重新渲染知道ModelStae的視圖?
在這種情況下部分意見是要走的路嗎? 有沒有更好的方法來實現這與MVC 4?
任何幫助表示讚賞。
這裏是我已經嘗試沒有成功:
Index.cshtml
<div id="token">
<!-- insert Token based PartialView -->
@{
//Html.RenderPartial("_TokenPartial");
Html.RenderAction("TokenBased");
}
<div id="credentials">
<!-- insert Credentials based PartialView -->
@{
//Html.RenderPartial("_CredentialPartial");
Html.RenderAction("CredentialsBased");
}
</div>
我HTML.RenderPartial("_partial")
嘗試,但不能指定型號部分視圖基於。然後我試圖與Html.RenderAction("TokenBased")
並在行動返回局部視圖和模型對這一觀點的一個實例:
CredentialController.cs
public ActionResult TokenBased(string token)
{
...
return View("_TokenPartial", new TokenModel);
}
這裏是局部視圖:
TokenPartial.cshtml
@model TokenModel
@using (Html.BeginForm("CreateAgreementToken", "Credential"))
{
<div class="formscontent">
@Html.LabelFor(x => x.Token) <br />
@Html.TextBoxFor(x => x.Token, new {size = "44" })
@Html.ValidationMessageFor(x => x.Token)
<br />
<br />
@Html.LabelFor(x => x.Email) <br />
@Html.TextBoxFor(x => x.Email, new {size = "30" })
@Html.ValidationMessageFor(x => x.Email)
<br />
<br />
@Html.CheckBoxFor(x => x.AcceptSubsTerms, new { value = "SubsTerms"})
@Html.LabelFor(x => x.AcceptSubsTerms)
@Html.ValidationMessageFor(x => x.AcceptSubsTerms)
@Html.ActionLink("SubsTermsLinkText", "Subscription", null, new {target = "_blank"})
<br />
<br />
</div>
<br />
<input class="mainbutton" type="submit" value="CreateAgreement_btn_txt"/><br />
}
這裏是POST操作方法:
[HttpPost]
public ActionResult CreateAgreementToken(TokenModel model)
{
if (ModelState.IsValid)
{
// Create Agreement
//
//
return RedirectToAction("Welcome");
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user credentials provided are incorrect.");
// Where to redirect to.
// How to re-render the Index view that's aware of the ModelState errors
return RedirectToAction("Index");
}
如何處理的控制器操作方法之間的相互作用,索引視圖,並在你有一個Index操作方法呈現一個「正常」情況下的局部視圖像索引視圖向它傳遞一個模型實例。然後在Index POST操作方法中,如果驗證失敗,則通過調用Index視圖向其傳遞無效模型來重新顯示錶單。
謝謝
非常感謝你user1714792。你的回答幫助/指引我走向正確的道路。喜歡這個地方。 – Javid