質問

選択した値が変更されたときにページをリロードするドロップダウンリストがあります。これは機能し、予想どおりにレンダリングされます。唯一の問題は、ドロップダウンリストがデフォルト値に戻ることです。 viewbag.valueを一致させるためにデフォルト値を変更するにはどうすればよいですか?

 @Html.DropDownListFor(model => model.LevelId,
                            (
                                from choice in
                                    (from p in Model.Defaults
                                     group p by new { p.LevelId, p.LevelDescription } into c
                                     select new { c.Key.LevelId, c.Key.LevelDescription })
                                select new SelectListItem
                                           {
                                               Text = choice.LevelDescription,
                                               Value = choice.LevelId.ToString(),
                                               Selected = false
                                           }))

jscript

$("#LevelId").change(function() {

        var clientId = @Model.ClientId;
        var compareDate = $("#EffectiveDate").val();
        var level = $(this).val();
        var params = $.param({ clientId: clientId, compareDate: compareDate, level : level });
        var link = '@Url.Action("Create", "Choices")'; //"\\Choices\\RefreshView";
        var url = link + "?" + params;
        document.location = url;
    });

コントローラーは、渡されたパラメーションに基づいてviewbag.levelを設定します

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top