【问题标题】:Pass html.dropdownlistfor current value to Actionlink?将当前值的 html.dropdownlist 传递给 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" })

【问题讨论】:

    标签: javascript c# asp.net-mvc-4 razor view


    【解决方案1】:

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

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

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

    1. 在下拉列表中附加change 事件。
    2. 获取选中的value并构造新的url
    3. 替换操作 (&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" />
    }
    

    【讨论】:

      猜你喜欢
      • 2020-02-06
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多