将当前值的 html.dropdownlist 传递给 Actionlink?

Posted

技术标签:

【中文标题】将当前值的 html.dropdownlist 传递给 Actionlink?【英文标题】:Pass html.dropdownlistfor current value to Actionlink? 【发布时间】:2015-06-05 07:06:30 【问题描述】:

是否可以将@html.DropDownListFor 当前值传递给操作链接?我想通过Create Action 将模板值传递给Sample 控制器。下面的代码不起作用,因为@Model.SurveyTemplate 不返回任何值。是否需要javascript 才能检索?请指导我。

下拉列表:

@Html.LabelFor(model => model.Survey_Template, "Survey Template")
                @Html.DropDownListFor(model => model.Survey_Template, new SelectList(
                  new List<Object>
                       new  value = "Style1" , text = "Style1"  ,
                       new  value = "Style2" , text = "Style2" ,
                       new  value = "Style3" , text = "Style3"
                    ,
                  "value",
                  "text",
            0))

动作链接:

@Html.ActionLink("_", "Create", "Sample",
            new  template = @Model.Survey_Template ,
            new  @id = "popup-link", @class = "classname2" )

【问题讨论】:

【参考方案1】:

您必须使用JavaScript 执行此操作,razor 语法 仅在 服务器端 上被识别。这意味着@Model.Survey_Template 将在用户请求页面时呈现,并将具有默认值。

如果您选择使用 JavaScript 进行此操作,请记住您需要保存基本 url 并根据已选择的内容向其附加参数。

这些步骤将帮助您达到您想要的结果:

    在下拉列表中附加change 事件。 获取选中的value并构造新的url 替换操作 (&lt;a .. /&gt;) 的 url (href)

注意:我没有写代码,因为我想让你超越自己。


我认为您尝试实现的是 formGET

@using(Html.BeginForm("Create", "Sample", FormMethod.GET))
    @Html.LabelFor(model => model.Survey_Template, "Survey Template")
    @Html.DropDownListFor(model => model.Survey_Template, new SelectList(
        new List<Object>
           new  value = "Style1" , text = "Style1"  ,
           new  value = "Style2" , text = "Style2" ,
           new  value = "Style3" , text = "Style3"
        ,
        "value",
        "text",
    0))

    <input type="submit" value="_" class="classname2" id="popup-link" />

【讨论】:

以上是关于将当前值的 html.dropdownlist 传递给 Actionlink?的主要内容,如果未能解决你的问题,请参考以下文章

Dropdownlist中用viewmodel传值处理方法

将 Html.DropDownList 的选定值传递给控制器

使用 JQuery 将选择属性添加到 Html.DropDownList

如何将多个 Html.DropDownList 选定值从 View(.aspx) 传递给 MVC 控制器的操作?

如何使用 asp.net mvc Html.DropDownList 帮助器将自定义项添加到下拉列表的顶部?

如何通过手动赋值来使用@Html.DropDownList? [复制]