Window.Location.Href 或其他重定向 _self 的方法不起作用(MVC 视图)
Posted
技术标签:
【中文标题】Window.Location.Href 或其他重定向 _self 的方法不起作用(MVC 视图)【英文标题】:Window.Location.Href or other methods of redirecting _self not working (MVC View) 【发布时间】:2013-06-28 22:36:18 【问题描述】:我确信对此可能有一个非常简单的解释,但我尝试了几种方法都无济于事。
对 MVC 有点陌生,但我已经设置了一个带有条件搜索参数的控制器,现在只需要一种通过查询字符串传递参数的方法。
直接导航到:
Collectors/Index?searchName=Tom
效果很好,所以我在视图上设置了一个文本框来接受参数,并试图将用户重定向到 searchName= Input。
问题是由于某种原因 window.location.href 函数根本没有重定向页面。我已经尝试将目标设置为 _self 的 window.open 方法,但没有成功 - 但是使用目标 _new 或不指定总是有效。
这个函数不能在同一个窗口上工作有什么原因吗?
下面会产生一个警报,没有重定向,之后没有警报:
$("#search").click(function ()
alert("before");
window.location.href("../Collector/Index?collectorName=Tom");
alert("after");
但是这会产生警报和重定向(以及搜索结果)
$("#search").click(function ()
alert("before");
window.open("../Collector/Index?collectorName=Tom");
alert("after");
);
我的控制器操作:
public ActionResult Index(string collectorName)
var db = new CollectorsCRUDController();
var query = db.GetEXCEL_Collectors();
if (!String.IsNullOrEmpty(collectorName))
query = query.Where(c => c.CollectorName.Contains(collectorName));
return View(query);
任何提示都会很棒!谢谢!
已解决
对于其他对此有疑问的人:
我的问题是我使用了错误的语法来调用 window.location 方法...
window.location = URL
不是
window.location(URL);
对我有用的完整代码
$("#search").click(function ()
var query = $("#searchName").val();
window.location = "/Collector/Index?collectorName=" + query;
);
【问题讨论】:
【参考方案1】:已编辑:
window.location
/ window.location.href
和其他变体需要使用 =
运算符进行设置,而不是像使用 window.open()
那样使用括号 (()
)。
更改:window.location.href("../Collector/Index?collectorName=Tom");
收件人:window.location.href="../Collector/Index?collectorName=Tom";
【讨论】:
感谢您的快速回复,我已经尝试了几乎所有重定向到 _self ... window.location, window.location.href, window.open(.._self), self .location 等 试试:document.location.href='/page.htm';
.. 抓着稻草,对不起:(
试过了......不幸的是它没有工作。我也刚刚放弃尝试让它重定向到正确的页面,以防万一这可能是一个问题......目前 document.location.href("google.com") 也没有做任何事情(我仍然之前得到警报)
顺便说一句,我相信你应该使用 =
代替 location
/ location.href
,而不是括号 (()
)。你试过吗:window.location='page.htm';
?
非常感谢!!!我从没想过这么多挫折会归结为等号而不是参数。你太棒了阿尔菲以上是关于Window.Location.Href 或其他重定向 _self 的方法不起作用(MVC 视图)的主要内容,如果未能解决你的问题,请参考以下文章
Javascript window.location.href - 刷新页面而不是重定向
window.open 目标_self v window.location.href?
window.open 目标_self v window.location.href?
在 window.location.href 重定向后处理 Web API 回调的响应