繁体   English   中英

如何使用AJAX Post调用ASP.NET MVC Controller操作并返回新的View?

[英]How to use AJAX Post to invoke ASP.NET MVC Controller action and return new View?

我正在ASP.NET MVC中的一个网站上向用户显示日历,单击特定的日历日期将调用以下功能:

function selectHandler(event, data) {
            var myRequest = new Request.HTML({
                url: '/Calendar/EventList',
                method: 'post',
                data: { datedata: data.toString() },
                update: $('postback'),
            }).send();
        };

我正在使用MooTools AJAX类来调用我的Controller Action / Calendar / EventList,如下所示:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult EventList(string datedata)
    {

                CalendarViewData viewData = new CalendarViewData 
                { EventList = GetEventsList(datedata) };

                return View(viewData);
    }

我可以在EventList操作中设置一个断点,看看它正在返回视图,但是浏览器仍保留在初始页面上,并且从不重定向到此EventList操作返回的页面。

我怀疑我需要在我的JavaScript函数中添加更多内容,但不确定是什么。 有任何想法吗?

为什么浏览器会重定向? 您正在向控制器操作发送AJAX请求,该操作返回一个视图(这可能是错误的,您可能需要返回一个局部视图),然后该视图用于更新DOM中的某些元素。 如果要重定向,可以使用简单的锚标记(如果需要POST,则可以使用form ),而无需使用javascript。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM