ASP.NET MVC передает данные из действия контроллера во второй контроллер для вывода

Так что в основном у меня есть форма с фильтрами браузера для отображаемых данных. Я надеялся, что смогу просто выполнить публикацию на свой контроллер «SearchPost», который обрабатывает все входящие фильтры, а затем выплевывает сетку Jquery для вывода, но, к сожалению, я не смог найти бесплатное представление сетки Jquery, которое работает .

Тем не менее, я все еще использую Ajax Post для выполнения запроса данных, но, в свою очередь, я хотел бы визуализировать частичное представление, которое бы передавало эти данные из действия контроллера «SearchPost» в my ». DataOutput "действие контроллера.

Пример:

Это мой Ajax Call:

 $.ajax(
     {
     type: "POST",
     url: "/TFS/SearchPost",
     data: $("#myform").serialize(),

     success: function () {
         $("#showresults").load("/TFS/DataOutput");
         },

      error: function (req, status, error) {
         alert("Sorry! We could not receive your feedback at this time.");
         }
      });

В свою очередь, он вызывает это действие контроллера, которое будет запрашивать мои данные и каким-то образом генерировать мой выходной список / сетку:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SearchPost(TFS_mysearch tfs)
{

    List<Msg> TFSData = (from z in _DB.Msg.Take(10) select z).ToList();

    return ????       
}

И тогда часть «Success» моего поста Ajax вызовет второе действие контроллера, которое отобразит мое частичное представление, содержащее результаты. Это имеет смысл ??

public ActionResult DataOutput(List<String> mylist) {

    return PartialView("DataOutput", mylist);

}

Если у кого-то есть простой способ визуализации вывода моего списка в Json, чтобы я мог сделать это непосредственно в своем ajax, я тоже мог бы это сделать, но подумал, что использование частичного представления может быть чище.

1
задан John Saunders 27 August 2010 в 19:32
поделиться

2 ответа

Значит, вы хотите, чтобы SearchPost возвращал не представление, а данные?

Возможно, вы хотите:

public ActionResult SearchPost(TFS_mysearch tfs)
{

    List<Msg> TFSData = (from z in _DB.Msg.Take(10) select z).ToList();

    return DataOutput(TFSData);      
}
public ActionResult DataOutput(List<String> mylist) {

    return PartialView("DataOutput", mylist);

}

за исключением того, что TFSData представляет собой список Msg и DataOutput запрашивает список строк. Если вы можете согласовать это, то вышеизложенное будет работать.

1
ответ дан 2 September 2019 в 21:45
поделиться

я бы предложил шаблоны на стороне клиента:

http://weblogs.asp.net/dwahlin/archive/2009/05/03/using-jquery-with-client-side- data-binding-templates.aspx

1
ответ дан 2 September 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: