【问题标题】:Pass selected value from dropdownlist as a route value in MVC将下拉列表中的选定值作为 MVC 中的路由值传递
【发布时间】:2013-10-15 01:15:23
【问题描述】:

在一个简单的 Asp.Net MVC 网页上,我有一个下拉列表。当从列表中进行选择时,我想将选定的值作为路由值传递给操作。即http:\\mysite\mypage\selectedvalue

我的下拉列表是

@Html.DropDownList("id", Model.AllLocations, "Select your Location");

而我提交表单的javascript是

 $("#id").on("change", function () {
                $("form").submit();
            })

如何将它添加到我的路线中?

这是一个移动网站,我需要在 url 中有值以适应预期的后退按钮使用情况。

** 编辑显示表格**

 @using (Html.BeginForm("details", "location",FormMethod.Post))
{
    @Html.AntiForgeryToken()
    @Html.DropDownList("id", Model.AllLocations, "Select your location");
}

【问题讨论】:

  • 如果下拉列表在表单中,您无需执行任何操作。
  • 您的表单是什么样的?您确定要提交表单而不是 GET 吗?你还需要展示你的行动。
  • 也许在这里你可以做点什么... $("form").submit(); .. 因为这实际上是在发布表单.. 其他解决方法是在 jquery api.jquery.com/jquery.post 中查看 post 方法

标签: jquery asp.net-mvc


【解决方案1】:

其实我之前也问过类似的问题。 情况并不完全相同,但我确实可以使用一些 javascript。

Similar question

   $("#id").on("change", function (e, p) {
            var val = $("#id option:selected").val();               
            var url = '@baseAddress' + '/location/details/' + val;

            window.location = url;

        })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多