将一个下拉列表的值添加到路由而不是作为jscript提交页面上的查询字符串?

我有一个包含DropDownList的MVC页面

@Html.DropDownList("id", Model.AllLocation, "SELECT LOCATION")

当在列表上进行选择时,我使用JQuery提交表单

  $('select').change(function(){ var form = $('#locations'); form.submit(); }); 

这会将参数作为查询字符串添加到url中

 http://mysite/controller/action?id=1234 

我想得到的是

 http://mysite/controller/action/1234 

这样做的正确方法是什么?

 $('select').change(function(e) { var val = $("select option:selected").val(); window.location = "http://mysite/controller/action/" + val; });