你不能这样做,因为HTML辅助执行在服务器端,而下拉值可以在客户端更改。实现它的唯一方法是使用JavaScript。你可以注册下拉的onchange事件和修改锚的href的值:
$(function() {
$('#ddlNames').change(function() {
var value = this.value; // get the selected value
// TODO: modify the value of the anchor
});
});
这可能不是最好的解决办法,因为路由服务器端的配置,并以修改您需要在客户端执行一些字符串操作的链接值。
作为替代方案,您可以使用表单和提交按钮来代替锚点。这样的下拉的选定值将被自动发送到服务器,你不需要任何JavaScript:
<% using (Html.BeginForm("Edit", "Members", new { area = "MembersArea" })) { %>
<%= Html.DropDownListFor(x => x.SelectedName,
new SelectList(Model.NameList, "ID", "Name"))%>
<input type="submit" value="Edit" />
<% } %>
只是为了澄清:你想利用DLL的选定值的链接?所以每当DDL发生变化时,您希望链接的值被更改?因为这将需要JavaScript来更新@ Darin的答案中的值。 – TJB 2010-11-07 09:00:54
是的,我想这样做。 – Filip 2010-11-07 09:22:03