qin*_*126 0 asp.net-mvc request asp.net-mvc-3
在我的一个页面上,我让用户根据他们从年龄下拉列表中选择的年龄来过滤内容.
这是我的代码.
$('#age').change(function () {
var ageUrl = "@Request.Url?age=" + $(this).val();
alert(ageUrl);
window.location = ageUrl;
});
Run Code Online (Sandbox Code Playgroud)
这是问题所在.我在应用页面上.
http:// localhost:60627/apps
第一次,我选择一个年龄并获得重定向,没问题.
http:// localhost:60627/apps?age = Middle_School
第二次,我选择另一个.
http:// localhost:60627/apps?age = Middle_School?age =幼儿园
在查询中,年龄出现两次.我尝试了Request.Url或Request.RawUrl,总是包含querystring.我应该使用什么来获取没有查询字符串的页面网址.
我之前没有真正使用它,但确实有效:
Request.Url.GetLeftPart(UriPartial.Path)
Run Code Online (Sandbox Code Playgroud)
另一种选择是:
String.Format("{0}://{1}{2}",Request.Url.Scheme, Request.Url.Authority, Request.Url.LocalPath)
Run Code Online (Sandbox Code Playgroud)
如果您知道您所使用的控制器/操作(来自ViewContext的数据),您可以使用@ Url.Action并指定重载来强制http模式,这也会生成完整的URL.
| 归档时间: |
|
| 查看次数: |
4033 次 |
| 最近记录: |