在视图事件上调用ASP.NET MVC Controller操作

Kla*_*Nji 0 asp.net-mvc

我有一个名为News的强类型视图,带有日历控件.我已经定义了日历的selectionchanged处理程序,如下所示:

<script runat="server">

      void OnCalendarSelectionChanged(Object sender, EventArgs e) 
      {
          var ndt = new Nullable<DateTime>(Calendar1.SelectedDate);        
          Html.RenderAction("ShowNews", new {dateTime =  ndt });

      }

   </script>
Run Code Online (Sandbox Code Playgroud)

在控制器中,我有以下方法:

        public ActionResult ShowNews(Nullable<DateTime> dateTime)
        {
            IEnumerable<InvestmentNews> todaysNews = new List<InvestmentNews>(); ;

            return View("News", todaysNews);
        }
Run Code Online (Sandbox Code Playgroud)

当我单击日历中的日期时,我的控制器中的Index()方法被调用而不是ShowViews().有人可以解释一下发生了什么吗?

TIA.

tva*_*son 5

在我看来,您正试图在MVC操作中使用WebForm控件.通常,这不起作用.毫无疑问,它正在导致回传到主窗体以处理WebForm控件事件.您应该真正考虑使用客户端日历,例如jQuery UI datepicker小部件,并在jQuery UI datepicker上的日期选择事件上执行AJAX帖子,用ShowNews操作中返回的HTML替换新闻视图.