使用 Umbraco 7 - 我想执行表单发布,但如果模型状态验证失败,则将用户返回到当前表单。
然而,该应用程序正在开发为单页应用程序 - 并考虑到这一点 - 希望在 URL 中包含一个锚标记,以便用户看到带有验证消息的表单。
但是,如果我使用 CurrentUmbracoPage() - 验证有效并保持模型状态 - 但我找不到添加锚标记的方法。如果我使用 RedirectResult,我会失去我的模型状态!
目前,如果表单验证失败 - 页面会重新加载,但会将用户带到页面顶部。
有什么帮助吗?我的表单发布和获取操作如下:
public ActionResult GetQuestionForm()
{
// Controller code omitted
return PartialView("_AskAQuestionForm", model);
}
[HttpPost]
public ActionResult ProcessQuestionForm(QuestionForm model)
{
if (!ModelState.IsValid)
{
if (TempData.ContainsKey(QUESTION_FORM_TEMP_DATA_KEY))
TempData.Remove(QUESTION_FORM_TEMP_DATA_KEY);
TempData[QUESTION_FORM_TEMP_DATA_KEY] = model;
// I need to add #js-ask-question__answers to this but can't :(
return CurrentUmbracoPage();
}
return Redirect(Umbraco.AssignedContentItem.Url + "?qf=y#js-ask-question__answers");
}