Использование datatables / webmethods в MVC - PullRequest
1 голос
/ 02 февраля 2012

Недавно я получил некоторые ошибки viewstatemac при реализации jQuery и JSON в приложении webforms. Я не использую ферму серверов и т.д. полностью удалить viewstate - что должно означать, что больше нет ошибок viewstate (надеюсь).

Пока все хорошо - у меня рендеринг экрана в виде из модели в MVC. Где я сейчас не уверен, это в моем jQuery, где у меня был следующий код:

 //function to show grid
function getGrid() {
    $.ajax({
        type: "POST",
        url: "courses.aspx/getGrid",
        data: "{tbDatet:'" + $("#tbDate").val() + "',ddlDayst:'" + getDays() + "',ddlTypet:'" + $("#ddlType").val() + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg2) {
            $("#jGrid").html(msg2.d);
            hideWait();
            addJQGrid();
            },
        error: function (jqXHR, textStatus, errorThrown) {
            hideWait();
            sendErr(errorThrown);
        }
    });
};

Куда отправляется мой jSon:

url: "courses.aspx / getGrid"

... как заменить это в MVC?

В настоящее время идет к:

<WebMethod()> _
Public Shared Function getGrid(ByVal tbDatet As String, ByVal ddlDayst As Integer, ByVal ddlTypet As Integer) As String
    Dim c As New course
    Dim id As Integer = HttpContext.Current.Request.QueryString("id")
    Return c.getCourseArray(tbDatet, ddlDayst, ddlTypet)
End Function

Функция getCourseArray просто запрашивает базу данных (используя dataadapters и datatables, а также объект сеанса). У меня есть два запроса:

1) Можно ли сохранить функцию и код getGrid точно так же, как указано выше, но иметь их в файле MVC?

2) Как только я получу его в файле типа MVC, смогу ли я по-прежнему запрашивать мою базу данных с помощью традиционных адаптеров данных, таблиц данных и значений сеанса (в соответствии с веб-формами VS)?

Спасибо за любые указатели / указания,

Mark

Ответы [ 2 ]

0 голосов
/ 27 марта 2013

В IIS 7. *

  <system.webServer>
  ...
  <tracing>
  <traceFailedRequests>
    <add path="*">
      <traceAreas>
        <add provider="ASP" verbosity="Verbose" />
        <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
        <add provider="ISAPI Extension" verbosity="Verbose" />
        <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" />
      </traceAreas>
      <failureDefinitions statusCodes="401.3-999,405" verbosity="Error" />
    </add>
  </traceFailedRequests>
</tracing>
...
</system.webServer>
0 голосов
/ 02 февраля 2012

Во-первых, если вы собираетесь использовать asp.net MVC, вам не нужен WebMethod, и нет Viewstate.

Первая проблема, с которой вы столкнулись, в MVC, вам не нужно добавлять ASPX к файлу в URL, маршрут обрабатывает это, вот сообщение в блоге, которое показывает вам, как заставить это работать http://bob -the-janitor.blogspot.com / 2010/12 / простой Ajax-с-Сеть САШ-MVC-и-jquery.html

также для частичного просмотра, посмотрите на этот пост

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...