如何使用 window.location.href 从基于 ASPX 的视图将参数传递给操作方法

How to pass params to Action Method from ASPX based view using window.location.href

我正在尝试使用 Window.location.href 将字符串参数传递给操作方法,但它没有通过。我有没有代码隐藏的基于 aspx 的视图。操作方法被调用但没有参数值。开发人员工具显示状态为已取消的参数。请帮助(使用 MVC 1)

//我的应计控制器

public partial class AccrualsController : BaseController 
{
 public ActionResult Test(string YearAndMonth)
    {
           //Code
    }
}

//这就是我在 Index.aspx 视图

中从 javascript 函数传递参数的方式
 window.location.href = "Accruals/Test?YearAndMonth=testvalue";

在 ASP.MVC 5 应用程序中测试了下面的代码,它工作正常:

控制器:

public class AccrualsController : Controller
{
    public ActionResult Test(string YearAndMonth)
    {
        return View();
    }
}

主页索引视图:

<a id="btn" href="#" class="btn btn-primary">Click Me</a>

<script>

    var btn = document.getElementById("btn");

    btn.addEventListener("click", function (e) {
        e.preventDefault();

        window.location.href = "Accruals/Test?YearAndMonth=testvalue";
    });

</script>

怀疑这可能与 ASP.MVC 1.0 的配置方式有关。这将很难解决,因为 ASP.MVC 1.0 现在已经超过 10 年了,文档很少,而且很多人会转向更新的版本。

底线

您使用的 ASP.MVC 版本太旧了,如果可能的话应该考虑升级到 ASP.MVC 5,您显示的代码将在其中运行