javascript - 如何使用 javascript 将选定的下拉值传递到 Html.ActionLink

标签 javascript asp.net-mvc razor

我有一个位置代码下拉列表:

@Html.DropDownList("LocationCode", (SelectList)ViewBag.Values, "Search Location...", new { @value = "@ViewBag.LocationCode.ToString()", @class = "form-control btn btn-default dropdown-toggle", name = "LocationCode" })

下面是我的@Html.ActionLink,它调用导出到 Excel 函数:

@Html.ActionLink("Export to Excel", "ExportAllVehicleLocationsToExcel", new { id = "ExportAllVehicleLocationsToExcel" })

这是我的 Javascript 尝试,但不起作用:

jQuery(function () {
    $("#ExportAllVehicleLocationsToExcel").click(
    function AllVehicleLocationsSearch() {
        $('#LocationCode').val(LocationCode);
        }
    );
});

如何使用 Javascript 将选定的 LocationCode 传递到 @Html.ActionLink

最佳答案

您需要根据所选值构建新的网址

用于生成 的代码应该是公正的(在使用 HtmlHelper 方法时切勿设置 value 属性,并且尝试设置 name > 幸运的是属性什么都不做)

@Html.DropDownList("LocationCode", (SelectList)ViewBag.Values, "Search Location...",
    new { @class = "form-control btn btn-default dropdown-toggle" })

链接可以只是

<a href="#" id="export">Export to Excel</a>

然后脚本将是

var baseUrl = '@Url.Action("ExportAllVehicleLocationsToExcel")';
$('#export').click(function() {
    location.href = baseUrl + '/' + $('#LocationCode').val();
})

关于javascript - 如何使用 javascript 将选定的下拉值传递到 Html.ActionLink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43182495/

相关文章:

javascript - 拒绝执行来自 p.adsymptotic.com 的脚本

javascript - 在网站上显示 .mov 作为加载屏幕的最佳方式

c# - 这是依赖注入(inject)的错误使用吗?

c# - 如何按从数据库中检索到的特定顺序显示表单项?

asp.net-mvc - 在运行时替换 MVC 应用程序部分和 Razor 文件提供程序

c# - Razor 和半整理的html标签

javascript - 如何将 touchstart 事件正确转换为 mousedown?

javascript - 是否可以更改 Angular Material 的 mdSwitch 的假状态颜色?

c# - 将 [Display(Name = "X")] 与枚举一起使用。 MVC3 ASP.Net 中的自定义 HtmlHelper

c# - 从 1 个项目列表创建 2 列项目列表