2017-08-01 50 views
-1

我面临在C#中一个奇怪的异常(ASP.NET Web窗体)。奇怪anamoly(代码不是没有错误的工作...)

我有一个ascx的网页,我调用一个函数创建从localStorage的值的JSON。

function creerJsonDepuisLocalStorage() { 
     var modif = {} 

     // Filling modif with localStorage values ...   

     try { 
      return JSON.stringify(modifs); 
     } catch (e) { 
      console.log(e); 
      return ""; 
     } 

    } 

我的代码隐藏被调用上提交按钮单击并恢复JSON使用它。

protected void btnEnregistrerFiche_OnClick(object sender, EventArgs e) 
{ 
    // tons of code ... doing various things like !!DataBase access!! 

    string argument = Request.Form["__EVENTARGUMENT"]; 
    JavaScriptSerializer ser = new JavaScriptSerializer(); 
    try 
    { 
     FicheModifiee edits = ser.Deserialize<FicheModifiee>(argument); 
     // edits treatments, commented for debug 
    } 
    catch(Exception ex) 
    { 
     Console.WriteLine(ex.Message); 
    } 

    // some other code like !!UI update!! 
} 

我的问题是这样的:

当我的前端JavaScript函数返回一个空字符串,代码隐藏功能的工作原理就像一个魅力,做数据库的修改和更新UI。

当我的前端JavaScript函数返回一个真正的对象,代码隐藏功能被正确反序列化JSON进入编辑类和我没有任何错误或崩溃数据库访问是不言UI正在更新与以前的数据(不考虑提交前做出的任何更改)。

这听起来像是黑暗魔法,因为我没有得到任何崩溃,我的一小段代码是不是做与功能的其他任何东西......

感谢您的帮助。

+0

happend你附加一个调试器,并通过代码? –

+0

是的,我做了,但其余的代码不是我的,并调用了很多其他功能。现在我可以说我的集团之前和之后的每个功能都不会崩溃并返回正确的值。 –

+0

@ Jasone.L什么为u越来越在乌尔对象 – Webruster

回答

0

我设法通过使用ASP来解决我的问题:hiddentField(设置为我的JSON创建脚本结束),并通过直接从C#代码阅读它。还是不知道该怎么用Request.Form["__EVENTARGUMENT"];