我最近在webforms应用程序中实现jQuery和JSON时遇到了一些viewstatemac错误。我没有使用服务器场等等 - 所以我假设viewstate以某种方式导致问题 - 所以不是诊断问题(我试图做几个星期),我想转向MVC完全删除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类型文件中,我是否仍然可以使用传统的数据适配器和数据表以及会话值(根据webforms VS)查询我的后端数据库?
感谢您提出任何指示/指导,
标记
答案 0 :(得分:0)
首先,如果你要做asp.net MVC,你不需要WebMethod,也没有Viewstate。
您遇到的第一个问题是在MVC中,您不需要将.aspx添加到URL中的文件中,路由处理,这是一篇博客文章,向您展示如何使其工作{{ 3}}
也可以进行局部视图,看一下这篇文章http://bob-the-janitor.blogspot.com/2010/12/easy-ajax-with-aspnet-mvc-and-jquery.html
答案 1 :(得分:0)
在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>