标签: asp.net-ajax

Sys.WebForms.PageRequestManagerServerErrorException 12031

我偶尔会从AJAX.NET应用程序中获取以下弹出窗口

Sys.WebForms.PageRequestManagerServerErrorException: An Unknown error occurred while processing the request on the server. The status code returned from the server was: 12031

Microsoft kb,状态代码指示ERROR_INTERNET_CONNECTION_RESET,但它没有说明首先触发错误的根本问题是什么.

如何记录/跟踪/ etc生成弹出窗口的基础错误?

asp.net exception-handling asp.net-ajax

19
推荐指数
2
解决办法
6万
查看次数

如何判断UpdatePanel回发中是否正在运行某个方法?

如何判断方法是否在AJAX回发的上下文中运行(即作为UpdatePanel(异步)回发的结果)?

根据egoldin Page.IsAsync是一个非常常见的混淆,与AJAX完全无关.

正确的方法是使用ScriptManager.GetCurrent(页面).IsInAsyncPostBack.

asp.net updatepanel asp.net-ajax scriptmanager

19
推荐指数
1
解决办法
3281
查看次数

将JSON对象反序列化为List <type>不使用asmx服务

我无法反序列化我的JSON字符串.我有一个person带有公共属性的类,类型为int,first name和last name.我想以JSON格式传递这些对象的数组,并将它们反序列化为一个列表,以便我可以在服务器上循环它们,但ASP.NET说不支持被反序列化为数组.我已经验证了我正在制作的JSON,它是有效的.ASP.NET在反序列化之前需要具有哪些特殊的JSON?有趣的是,如果我将列表<person>对象序列化为JSON,它看起来就像我正在生成的JSON.我必须遗漏一些东西......为了澄清,我正在使用ASP.NET Ajax库进行反序列化.这是我从Web服务中获得的:

{"Message":"Type\u0027System.Collections.Generic.IDictionary`2 [[System.String,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089],[System.Object,mscorlib,Version = 2.0 .0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]\u0027不支持反序列化数组."

实际上不幸的是,这似乎与反序列化没有任何关系,看起来你无法将一组JSON对象传递给asmx web服务.我对么?如果你不能这样做,是否可以将一组JSON对象传递给Web服务并使用ASP.NET和C#在服务器上处理它们?

更新:

好的,这是我的代码.这是人类:

public class person
{
    public person()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    public int seq
    {
        get;
        set;
     }

    public string firstName
    {
        get;
        set;
     }
     public string lastName
     {
        get;
        set;
     }

}  
Run Code Online (Sandbox Code Playgroud)

这是我的JSON字符串:

[{"seq":1,"firstName":"Chris","lastName":"Westbrook"},
{"seq":2,"firstName":"sayyl","lastName":"westbrook"}]  
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码

    [WebMethod]
    public void updatePeople(string json)
    {
        IList<person> people = 
         new JavaScriptSerializer().Deserialize<IList<person>>(json);

        //do stuff... …
Run Code Online (Sandbox Code Playgroud)

asp.net serialization json asp.net-ajax

19
推荐指数
3
解决办法
5万
查看次数

如何加载外部文件并确保它首先在JSFiddle中运行?

我在这里有一个JsFiddle ,并添加了Microsoft AJAX以通过外部JS /资源部分加载.如何在AJAX文件加载完成后判断我的JS代码是否运行?

似乎AJAX也没有加载.:(

这是JSFiddle中的代码:

Type.registerNamespace("Tutorial.Chapter1");
Tutorial.Chapter1.Person = function(firstName, lastName) {
    this._firstName = firstName;
    this._lastName = lastName;
};
Tutorial.Chapter1.Person.prototype = {
        set_firstName: function(value) {
            this._firstName = value;
        },
        get_firstName: function() {
            return this._firstName;
        },
        set_lastName: function(value) {
            this._lastName = value;
        },
        get_lastName: function() {
            return this._lastName;
        },
        _firstName: "",
        _lastName: "",
        displayName: function() {
            alert("Hi! " + this._firstName + " " + this._lastName);
        }
    };
Tutorial.Chapter1.Person.registerClass("Tutorial.Chapter1.Person", null);
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-ajax jsfiddle

19
推荐指数
2
解决办法
3万
查看次数

消息:无效的JSON原语:使用Webmethod的ajax jquery方法

我使用数据值作为对象文字,而不是连接一个字符串,如本答案中所述

我的代码如下:

$.ajax({    
  url: "../Member/Home.aspx/SaveClient",
  type: "POST",
  async: false,
  dataType: 'json',
  contentType: 'application/json; charset=utf-8',
  data: {
    "projectSoid": ProjectId,
    "startDate": StartDate,
    "endDate": EndDate,
    "clientManager": ClientManager
  },
  success: function(response) {
    if (response.d != "") {

    }
  },
  error: function(response) {
    var r = jQuery.parseJSON(response.responseText);
    alert("Message: " + r.Message);
    alert("StackTrace: " + r.StackTrace);
    alert("ExceptionType: " + r.ExceptionType);
  }
})
Run Code Online (Sandbox Code Playgroud)

我的网络方法是这样的:

[WebMethod]
public static string SaveClient(string projectSoid, string startDate, 
     string endDate, string clientManager)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

消息:无效的JSON原语:projectSoid

c# asp.net jquery asp.net-ajax

19
推荐指数
1
解决办法
3万
查看次数

UpdatePanel内的FileUpload控件没有刷新整个页面?

根据Microsoft的说法,FileUpload控件与AJAX UpdatePanel不兼容.

我知道可以将PostBackTrigger添加到表单的提交按钮,如下所示:

<Triggers>
  <asp:PostBackTrigger ControlID="Button1" />
</Triggers>
Run Code Online (Sandbox Code Playgroud)

问题在于,这会强制表单执行完整的回发,从而避免了首先使用UpdatePanel的整个过程.是否有解决此问题的方法不会导致整个页面刷新?

.net asp.net updatepanel file-upload asp.net-ajax

18
推荐指数
1
解决办法
4万
查看次数

MicrosoftAjax.js没有缩小的原因吗?

我使用YuiCompressor压缩我自己的JS,但是有没有理由说明MicrosoftAjax.js没有缩小?或者是否有一些设置来说运行它的压缩版本(如果有压缩版本).或者我是否需要对其进行反编译并自行缩小脚本资源?

javascript asp.net-ajax minify

18
推荐指数
2
解决办法
3866
查看次数

Internet Explorer缓存asp.netmvc ajax结果

我在网络浏览器中遇到了一个问题.当我点击它在控制器中传递的链接并正确加载数据时,我有一个调用表单的ajax调用,在其他浏览器中.但是在IE中,当它加载一次时,它会带来相同的旧结果,而不会传入控制器.

ajax asp.net-mvc internet-explorer caching asp.net-ajax

18
推荐指数
2
解决办法
1万
查看次数

我如何知道表单输入已更改?

我有一个生成的表单,<% Ajax.BeginForm() {} %>其中包含大量的输入和texareas.

当输入值改变时,我需要知道它并将输入和表单标记为"脏".如果用户试图不保存而离开页面,我会要求他或她确认放弃更改.

有关如何做到这一点的任何建议?

jquery asp.net-ajax asp.net-mvc-2

18
推荐指数
4
解决办法
2万
查看次数

使用jQueryAjax"GET"调用WebMethod

我有一个ajax请求使用"POST"很好,但当使用"GET"它给我以下错误,

{"Message":"An attempt was made to call the method \u0027GetSomething\u0027 
using a GET      request, which is not allowed.","StackTrace":" at 
System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData 
methodData, HttpContext context)\r\n at 
System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, 
WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
Run Code Online (Sandbox Code Playgroud)

所以这是我的代码,在客户端,

function test() {
        $.ajax({
            url: "Default4.aspx/GetSomething",
            type: "GET",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (res) { debugger; alert(res.d); },
            error: function (res) { debugger; alert("error"); }
        });
    }
Run Code Online (Sandbox Code Playgroud)

在服务器端,

[WebMethod]
public static string GetSomething()
{
    return "got something";
}
Run Code Online (Sandbox Code Playgroud)

使用"GET"时我得到错误的任何原因??

jquery asp.net-ajax webmethod

18
推荐指数
1
解决办法
2万
查看次数