2

お問い合わせフォームの部分的なビューがあります。

私の問題は、フォームが投稿された後、コントローラーが部分ビューの実際の URL にリダイレクトしていることです: ("LocalHost:/Views/ContactUs/MoreInformationRequest.cshtml")

同じ URL を維持し、ViewData["MsgSent"] メッセージのみを表示したいと考えています。

これは、部分ビューへの呼び出しです。

@Html.Partial("~/Views/ContactUs/MoreInformationRequest.cshtml")

景色:

   @using (Html.BeginForm( "MoreInformationRequest","ContactUs"))
    {
      .....

       <input type="submit" value="send" /><br />
       @ViewData["MsgSent"]

     }

コントローラー:

    [HttpPost]
    public ActionResult MoreInformationRequest(ContactUs contacts)
    {

      .....

        ViewData["MsgSent"] = "Message sent!"
        return View();

    }
4

3 に答える 3

1

jQuery を使用してサーバーに投稿し、javascript 関数から false を返して、デフォルトの処理を停止します (つまり、コントローラーから新しい URL に送信します。

于 2013-08-20T18:31:03.817 に答える
1

リダイレクトを使用して、部分ビューをロードするページを再表示できます。

return RedirectToAction("OriginalAction");

特定のビュー、特に元のアクションからのビューを返すこともできます。

return View("OriginalView");
于 2013-08-20T15:30:53.167 に答える