2010-07-17 3 views
0

У меня есть строго типизированный вид под названием News с элементом управления календарем. Я определил SelectionChanged обработчик этого календаря следующим образом:Вызов действия ASP.NET MVC-контроллера в событии просмотра

<script runat="server"> 

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

     } 

    </script> 

В контроллере, у меня есть следующий метод: метод

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

      return View("News", todaysNews); 
     } 

Когда я нажимаю на дату в моем календаре, индекс() в мой диспетчер вызывается вместо ShowViews(). Может кто-нибудь объяснить, что происходит?

TIA.

ответ

5

Мне кажется, что вы пытаетесь использовать элемент управления WebForm в своем действии MVC. Как правило, это не работает. Несомненно, происходит то, что он вызывает обратную передачу вашей основной формы для обработки события управления WebForm. Вы должны действительно посмотреть на использование клиентского календаря, например, виджет jQuery UI datepicker и сделать запись AJAX в выбранном событии даты на jQuery UI datepicker, заменив новостное сообщение на возвращаемый HTML из вашего действия ShowNews.

Смежные вопросы