2

MVC 4 プロジェクトにビューと部分ビューがあります。ビューに 3 つのテキスト ボックス、1 つのチェック ボックス、およびドロップダウンがあります。私は ajax.actionlink メソッドを使用して、コントローラー、Action を呼び出し、パラメーターを渡し、部分ビューから結果を取得し、ビューの div タグに表示します。ページ。

これが私のコードです。

@Html.TextBoxFor(m=>m.searchParameter.cityName)
@Html.TextBoxFor(m=>m.searchParameter.CountryName)
@Html.TextBoxFor(m=>m.searchParameter.StateName)

@Ajax.ActionLink("submit", "DisplaySearchResult", "Home"
      , new { searchParameter =  Model.searchParameter }
     , new AjaxOptions() { HttpMethod = "Post", UpdateTargetId = "Results", InsertionMode = InsertionMode.Replace }, new { id = "DisplaySearchResult" }).

問題は、パラメーターをモデルに渡すことができないことです。私はMVC4が初めてです。jquery または javascript を使用してパラメーターを渡す方法はありますか? 検索結果中にページをロードしたくありません。

4

1 に答える 1

1

ご覧のとおり、検索フォームを実装しようとしています。この場合、 a の使用を避けViewModel、通常は次のようにします。

@Html.TextBox("CityName", string.Empty)
@Html.TextBox("CountryName", string.Empty)
@Html.TextBox("StateName", string.Empty)

次に、少しの jQuery を使用して値をアクション メソッドに渡すことができます。

$("#submit").click(function() {

            var $form = $('form');

            $.ajax({
                type: "GET",
                cache: false,
                url: '@Url.Action(ActionName, ControllerName)',
                data: $form.serialize(),
                success: loadResult
            });

function loadResult(data)
        {
            $("#container").html(data);
        }

CityName, CountryName, StateName値が正しくバインドされるように、アクション メソッドに適切なパラメーターがあることを確認してください。

于 2013-01-23T14:49:42.607 に答える