c# - 如何获取下拉列表值并通过 ActionLink 传递给控制器?
问题描述
我需要使用 Actionlink 将下拉列表的值发送到我的控制器。
我正在使用这段代码:
从控制器发送列表以查看:
ViewBag.Frecuencies = new SelectList(db.Frecuencies, "FrecuencyID", "Description");
在视图中显示列表:
@Html.DropDownList("Description", (IEnumerable<SelectListItem>) ViewBag.Frecuencies,new { name="Frecuency"})
我想用 ActionLink 作为参数从下拉列表中发送值:
@ActionLink("ActionName","Controller",new {**ParameterName=DropdownValue**})
一些帮助?
解决方案
我认为不使用 JavaScript 就无法做到这一点。您必须从列表中获取选定的值,然后将其添加到生成的<a>
标签中@Html.ActionLink()
。
首先,我会在这些Html
辅助方法中添加一些 id。
@Html.DropDownList("Description", (IEnumerable<SelectListItem>)ViewBag.Frecuencies, new { name = "Frecuency", id = "Frecuency-id" })
@Html.ActionLink("ActionName", "Controller", new { paramName="", id="action-link-id"})
然后继续使用 JavaScript。以下是使用 jQuery 进行此操作的方法:
var selectedValue = $("#Frecuency-id").val();
$("#action-link-id").attr("paramName", selectedValue);
当然,每次您选择的值更改时,您仍然必须执行此代码。
var valueList = $("#Frecuency-id");
valueList.on("change", function () {
var selectedValue = $("#Frecuency-id").val();
$("#action-link-id").attr("paramName", selectedValue);
});
代码应该看起来有点像我上面描述的。
推荐阅读
- java - 在生产中调用时,JPA 本机查询不起作用
- acumatica - 将自定义字段添加到销售订单标题
- c - 为什么用C修改二进制文件的double会出错?
- r - 如何使我的函数中的代码返回编辑后的数据框
- html - 如何使用 CSS 粘性
- windows-installer - 即使用户在 uac 提示中单击“否”,如何安装文件?
- microservices - 微服务架构:如何引入新的微服务
- react-native - Web 服务调用出错。在反应原生
- json - jq - 打印围绕每场比赛的前导和尾随上下文?
- angular - 如何在没有 Angular CLI 的情况下构建 Angular 项目?