2

こんにちは、これは私の最初の質問ですので、よろしくお願いします。フォームから mvc に移行したところです。私は次のルートを作りました(下)。他の 2 つの部分ビューも含む部分ビューを作成しました (以下を参照)。送信すると、URL は「Find/Index?Region=3&Interest=1」のようになります。

  1. 'Find/Index/In-Wales-3/Sport-1' で定義されたルートに一致するわかりやすい URL を作成する最良の方法は何 ですか? 投稿してからリダイレクトすることもできましたが、これはおそらく非効率的だと思いました。おそらくjqueryを使用するより良いアプローチですか?

  2. 使用したデザインが正しいかどうか、または改善できるかどうかも示してください。ビューを分離する理由は、それらが複数のビューで使用されるためです。

前もって感謝します!

ルート構成

routes.MapRoute(
name: "Find",
url: "{controller}/{action}/In-{region}-{rid}/{interest}-{iid}",
defaults: new { controller = "Find", action = "Index", region = UrlParameter.Optional,
                            rid = UrlParameter.Optional,
                            interest = UrlParameter.Optional,
                            iid = UrlParameter.Optional
            });

マスター ページでレンダリングされる部分ビュー

@model SimpleFriendFinderModel
    <h1>Find</h1>
    <div>
        @using (Html.BeginForm("Index", "Find", FormMethod.Get))
        {
            @Html.Partial("_RegionDropDown", @Model.Regions)
            @Html.Partial("_InterestDropDown", @Model.Interests)
            <div>
                &nbsp;
                <button>SEARCH</button>
            </div>
        }
    </div>

地域部分図

@model IEnumerable<Region>

<select id="Region" name="Region">
<option>REGION</option>
    @{ foreach(var item in Model) {
        <option value="@item.RegionID">@item.RegionName</option>
    }
}
</select>

他の部分図は Region のレプリカですが、明らかに異なるモデルです。

4

1 に答える 1