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");
}