возможно ли иметь Html.ActionLink внутри DropDownList без сценария Java? - PullRequest
1 голос
/ 22 мая 2011

Возможно ли иметь что-то подобное?

@Html.DropDownListFor(
                @Html.ActionLink("About", "About", "Home")
                @Html.ActionLink("mypage","index","Home")
                @Html.ActionLink("apage","anypage","Home")

                @Html.ActionLink("Test","Test","home")
                @Html.ActionLink("pagetest", "tsetPage", "Home")
                );

1 Ответ

6 голосов
/ 22 мая 2011

Нет, это невозможно без JavaScript.Особенно, если вы хотите, чтобы страница переходила по соответствующему адресу, когда пользователь выбирает элемент в этом раскрывающемся списке.Если вы не хотите использовать javascript, вы можете разместить раскрывающийся список внутри HTML <form>, но тогда пользователю придется нажимать кнопку отправки для навигации.Вот пример того, как вы можете достичь этого с помощью javascript:

@Html.DropDownList(
    "url",
    new SelectList(new[]
    {
        new SelectListItem { Text = "About", Value = Url.Action("About", "Home") },
        new SelectListItem { Text = "MyPage", Value = Url.Action("Index", "Home") },
        new SelectListItem { Text = "APage", Value = Url.Action("AnyPage", "Home") },
    }, "Value", "Text"),
    "-- Pick an URL ---",
    new { id = "urlddl" }
)

, а затем, используя jquery, вы можете подписаться на событие изменения этого выпадающего списка и перейти к соответствующему URL:

$(function() {
    $('#urlddl').change(function() {
        var url = $(this).val();
        if (url != null && url != '') {
            window.location.href = url;
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...