是否可以将@Html.DropDownListFor
当前值传递给操作链接?我想通过Sample
操作将模板值传递给Create
控制器。下面的代码不起作用,因为@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))
ActionLink的:
@Html.ActionLink("_", "Create", "Sample",
new { template = @Model.Survey_Template },
new { @id = "popup-link", @class = "classname2" })
答案 0 :(得分:1)
您必须使用JavaScript
执行此操作, razor语法仅在服务器端上被识别。这意味着当用户请求页面时将呈现@Model.Survey_Template
,并且将具有默认值。
如果您选择使用JavaScript
,请记住您需要保存基本网址并根据所选内容向其附加参数。
此步骤将帮助您实现所需的结果:
change
个活动。value
并构建新网址href
)<a .. />
)
醇>
注意:我没有编写代码,因为我希望你超越自己。
我认为你试图通过form
实现GET
。
@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" />
}