Window.Location.Href或重定向_self的其他方法不起作用(MVC视图)

Window.Location.Href or other methods of redirecting _self not working (MVC View)

本文关键字:不起作用 方法 MVC 视图 其他 Href Location 重定向 self Window      更新时间:2023-09-26

我相信对此可能有一个非常简单的解释,但我尝试了几种方法都无济于事。

MVC有点新,但我已经设置了一个带有条件搜索参数的控制器,现在只需要一种通过querystring向其传递参数的方法。

直接导航到:

Collectors/Index?searchName=Tom

工作得很好,所以我在视图上设置了一个Textbox来接受参数,并试图将用户重定向到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";