C# MVC 加载带有参数 javascript 的 ActionResult

C# MVC load ActionResult with javascript with parameter

我想加载 javascript 的操作结果。我在 Whosebug 上找到了一些解决方案,但它们无法正常工作。

我有这段代码,它应该在星期五加载这个视图。它看起来像这样:

 var from = jQuery('#orderForDate').datepicker().val().split("-");
        var f = new Date(from[2], from[1] - 1, from[0]);
        var n = f.getDay();

        orderForDate = jQuery('#orderForDate').datepicker({ dateFormat: "dd-mm-yy" }).val();

        if (n == 5) {
            console.log('friday baby!');
            var url = '@Html.Raw(Url.Action("Bestellen", "Cart", new { orderForDate=orderForDate}))';
            window.location = url;
        }

这是应该加载的控制器:

 public ActionResult Bestellen(string orderForDate)
    {
        ViewBag.date = string.IsNullOrEmpty(orderForDate) ? DateTime.Now.Date : DateTime.ParseExact(orderForDate, "dd-MM-yyyy", CultureInfo.GetCultureInfo("nl-NL"));
        User user = _db.Users.Find(_db.GetCurrentUserId());

        var vm = new BestellenViewModel { ShowFavoritesAsDefault = user.ShowFavoritesAsDefault };
        return PartialView(vm);
    }

问题是,当我在我的日期选择器中点击一个星期五的日期时,浏览器会加载这个 url/page

http://localhost:54408/Cart/@Html.Raw(Url.Action(%22Bestellen%22,%20%22Cart%22,%20new%20%7B%20orderForDate=orderForDate%7D))

而且我显然没有得到想要的页面。

我在这里错过了什么?

阅读您的 url link。 http://localhost:54408/Cart/@Html.Raw(Url.Action(%22Bestellen%22,%20%22Cart%22,%20new%20%7B%20orderForDate=orderForDate%7D))。这不是你想要的。尝试:window.location = '/Cart/Bestellen?orderForDate=' + orderForDate