[英]Window.Location.Href or other methods of redirecting _self not working (MVC View)
我敢肯定对此可能有一个非常简单的解释,但是我尝试了几种方法都没有用。
MVC有点新,但是我已经设置了带有条件搜索参数的控制器,现在只需要一种通过querystring传递参数的方法。
直接导航至:
Collectors/Index?searchName=Tom
效果很好,因此我在视图上设置了一个文本框以接受参数,并尝试将用户重定向到searchName = Input。
问题是由于某种原因window.location.href函数根本没有重定向页面。 我尝试了将target设置为_self的window.open方法,但这种方法不起作用-但是使用target _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;
});
编辑:
window.location
/ window.location.href
和其他变体需要使用=
运算符进行设置,而不是使用诸如window.open()
类的括号( ()
)进行设置。
更改: window.location.href("../Collector/Index?collectorName=Tom");
收件人: window.location.href="../Collector/Index?collectorName=Tom";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.