2017-02-16 3 views
1

私はmybootstrapモーダルを開くためにハッシュを使用しています。 URLにHome/Index#mymodalと入力すると、手動で動作します。モーダルは自動的に表示されます。問題は私がフォームを提出したいときです。以下は私のコードです。私はHome/Index#mymmodalにフォームを誘導しようとしています。しかし、URLはHome/Index%23mymmodal?inputName=johnと表示されます。手動でURLを変更しようとすると、Home/Index?inputName=john#mymmodalが動作します。そこで、現在のURLの末尾に#mymmodalを追加しようとしています。私はこれを使用しましたが、うまくいきません。URL MVC形式の文字列を追加します

$('.ajaxLink').click(function (e) { 
    location.hash = this.id; // get the clicked link id 
    e.preventDefault(); // cancel navigation 

    // get content with Ajax... 
}); 

これは私のコードです:

<form method="get" action="@Url.Action("Index#mymodal", "Home")"> 
    <input type="text" name="inputName" Class="form-control"> 
</form> 

<Button type="submit" value="search">Search</Button> 

答えて

1

リンクを生成している対象のアクションにUrlHelperマップの最初のパラメータ。

:あなたがURLに付加ハッシュをしたい場合は

は、ヘルパーの後にそれを追加することは、C#、VB.NETでの有効な識別子ではありません、など - あなたはFoo#Somethingをという名前のコントローラ上のメソッドを持っていることは決してないだろう

<form method="get" action="@Url.Action("Index", "Home")#mymodal"> 
    <input type="text" name="inputName" Class="form-control"> 
</form> 

ハッシュはサーバーへのHTTPリクエストに含まれていませんが、ここで何を達成しようとしているのか分かりません。

+0

あなたは素晴らしいです!ありがとう! –

+0

@ Html.ActionLink( "詳細"、 "インデックス"、 "ホーム"、{.inputName = Item.Name}で新しい)に挿入する方法はありますか? –

+0

「あなたはHtmlHelperで同じことをどうやってやるの?意味、生成されたハイパーリンクにハッシュをどのように追加しますか? –

関連する問題