会话修改来自webmethod

时间:2017-07-03 08:29:14

标签: asp.net session webmethod

是否可以从web方法修改会话,完整的描述是

我有一个客户端触发的按钮,用于将文本框中的数据添加到会话中的一个新行

会话声明为

public List<Some_Business_Object_Here> A_Session
{
            get
            {
                return (List<Some_Business_Object_Here>)Session["Session_Name_Here"];
            }
            set
            {
                Session["Session_Name_Here"] = value;
            }
}

和WebMethod

[WebMethod]
public static string InsertItemDt(List<string> dataIns)
{
            BOResponse objRes = new BOResponse();
            SomeFormHere form = new SomeFormHere();

            Some_Business_Object_Here objDet = new Some_Business_Object_Here();
            objDet.Data1 = dataIns[0];
            objDet.Data2 = Convert.ToInt32(dataIns[1]);
            objDet.Data3 = Convert.ToDecimal(dataIns[2]);            

            objRes = form.A_Processing_Method(objDet, ListItemDetail);

            return new JavaScriptSerializer().Serialize(objRes);
}

如果方法处理在一些验证后添加新行

可以用这种方法吗?

编辑:BOResponse是验证的对象,仅包含错误代码和捕获错误消息

所以方法就像

 Private BOResponse A_Processing_Method (Some_Business_Object_Here obj)
{
    try
    {
       (Some Validation Here...)

       if (!validation)
       {
          MsgCode = 10;
          MsgDesc = "Some Custom Error Text Here"
       }
       else
       {
           A_Session.Add(obj);
       }
    }
    catch (Exception err)
    {
       MsgCode = 20;
       MsgDesc = err.Message;
    }
}

1 个答案:

答案 0 :(得分:0)

没关系,似乎是这样工作