因为我使用的是asp.net mvc,所以我使用jquery伪装了一个autopostback。它正在这样的选择列表(下拉列表)中执行:
$(document).ready(function() {
// autopostback for character drop down list
$('#playerCharacters').change(function() {
var charId = $('#playerCharacters option:selected').val();
window.location = "/Character/SetDefault/" + charId;
});
});
现在在/ Character / SetDefault / [charID](控制器,操作,ID)我试图使用以下方法访问引用URL:
Request.UrlReferrer
但它即将出现。关于为什么会这样的想法?
答案 0 :(得分:1)
我认为浏览器会直接设置window.location,就像处理用户直接在位置栏中输入新URL一样。这意味着没有推荐人,因为推荐人是关于一个页面直接引用另一个页面(例如通过链接)而不是浏览器只是转到另一个页面...
我能看到解决您问题的最简单方法是确保您的下拉列表采用发布(或获取)/ Character / SetDefault&然后让你的javascript提交这样的表格:
$('#playerCharacters').change(function() {
this.form.submit();
});
然后,您只需要在控制器中更改SetDefault操作以获得playerCharacters参数,以便MVC将表单的请求值正确绑定到您的方法。