我有一个充满自行车的下拉列表(<select>
标签)(更具体地说是他们的名字)。当用户在列表中选择自行车时,我希望将它们重定向到所选自行车的详细信息页面。
我有一条自行车详情的路线:
routes.MapRoute("BikeDetails",
"bike/{bikeId}",
new {
controller = "Bike",
action = "Details"
},
new { bikeId = @"\d+" });
解决此问题的最佳方式是什么?
我想也许我应该使用下拉列表项值的URL,然后使用JQuery重定向到选定的URL。但是之前我曾经处理过旧的普通ASP.NET,我不禁想到微软的那些人已经为这样的场景想到了一些聪明的东西。
任何想法都赞赏!
答案 0 :(得分:2)
我认为你的jQuery想法真的是要走的路,虽然我可能不会把它绑定到select的change
事件,但有一个触发重定向的按钮。某些浏览器(尤其是使用屏幕阅读器)在更改事件时表现不佳 - 当您滚动它时为每个项目触发它。由于它会让你离开页面,对某些用户来说这可能是一件非常糟糕的事情。
您可能还需要将select包装在回发到该操作的表单中,并允许您通过该帖子进行该操作。该操作可以接受URL作为参数,并将重定向发送到URL。这将涵盖javascript关闭的情况。
答案 1 :(得分:0)
你可以这样做:
$("#yourselectid").change(function(){
window.location = "bike/" + $(this).val();
});