Ajax.net的未將對象引用設置到對象的實例

今天想對前幾天學習Ajax做一下檢驗,在剛完成的一個項目了加入Ajax.NET Professional 的引用,

[環境]
    Ajax.NET Professional for .NET 1.1,版本5.11.4.2
    Visual Studio 2003

[問題]

     參照着例子完成了代碼部分的工作。運行,不成功,調試發現總是報“對象引用設置到對象的實例”的錯誤。上網找了些資料說和調用Session有關,查看的確有調用Session的代碼,代碼如下:

   BLL.Apply appBll = new Apply();
   EmployRelationInfo info = new EmployRelationInfo();
   info.SenderMemID = Session["MemberID"].ToString();
   info.SenderMemName = Session["MemberName"].ToString();
   info.CropInfoID = corpid;
   info.MemID = memid;


[解決]

   將

   [AjaxPro.AjaxMethod]

   public string SendApply()

   {

         ......

         info.SenderMemName = Session["MemberName"].ToString();  

         ......

   }

   改爲 

    [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]

   public string SendApply()

   {

         ...... 

         info.SenderMemName = HttpContext.Current.Session["MemberName"].ToString(); 

         ......

   }

   另外,當Ajax.net訪問Application,Request,Response時也需要加上HttpContext.Current。而且不能訪問IPrincipal.IsInRole、頁面的控件和ViewState。原因應該就是Ajax.net的工作方式造成的。

發佈了17 篇原創文章 · 獲贊 0 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章