0
私は、ページの下部にある連絡先フォームを持っており、スクロールする必要があります。フォームが送信されると、ページがリロードされ、ページがアンカーになるために、連絡先フォームに移動する必要があります。 BeginFormのアクションを変更すると、アンカー内の '#'が '%23'にエンコードされます。このフォームの実行を停止するにはどうすればよいですか?MVC Razor - アンカーアクションを使用したBeginForm
JavaScriptを使用せずにこの機能が必要です。
<form action="/en/Home/Contact?ReturnURL=%23contact" method="post" novalidate="novalidate">
次のHTMLは、(私はカミソリでそれを生成する方法がわからない)だろうが:上記のコードは次のHTMLを返し、アンカーに行くことはありません
@{
using (Html.BeginForm(null, null, new { ReturnURL = "#contact" }, FormMethod.Post, new { novalidate = "novalidate" }))
{
//Fields...
<button type="submit">Submit</button>
}
}
:私はまた、次のことを試してみたが、 '#' が常にエンコードされ
<form action="/en/Home/Contact?ReturnURL=#contact" method="post" novalidate="novalidate">
:
using (Html.BeginForm(null, null, new { ReturnURL = HttpUtility.HtmlDecode("#contact") }, FormMethod.Post, new { novalidate = "novalidate" }))
using (Html.BeginForm(null, null, new { ReturnURL = HttpUtility.UrlDecode("#contact") }, FormMethod.Post, new { novalidate = "novalidate" }))
using (Html.BeginForm(new { action = Url.Action("Index", "Home") + Html.Raw("Contact/#contact") }))
https://stackoverflow.com/questions/274586/including-an-anchor-tag-in:インデックス/ホーム/フロントページに、私はルートを構築するために、以下の使用してきましたされていません-an-asp-net-mvc-html-actionlink tこれ – Danimal