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

问题描述

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

//我的应计控制器

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

//这就是我在 Index.aspx 视图中从 javascript 函数传递参数的方式

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

标签: c#asp.netasp.net-mvcasp-net-mvc-1

解决方案


在 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,您显示的代码将在其中工作


推荐阅读