|登录 |注册

查看: 2530|回复: 3
打印 上一主题 下一主题

LINQ to entitites + ajax update资料问题

[复制链接]
我是大猪头
2009-11-27 12:25 AM
<--------------------ajax部分----------------------------------------------------------------------------->

function Edit(uid) {
            $("#divLoading").dialog('open');
            $("#divLoading").dialog
            ({
                bgiframe: true,
                modal: true
            });

            $.ajax
            ({
                type: "OST",
                contentType: "application/json; charset=utf-8",
                url: "../Ajax/LoadingData.asmx/LoadStaffInfo",
                data: "{'sUId': '" + uid + "'}",
                success: function(result) {
                    $("#<%=lbl_UserId.ClientID %>").html(result.d.UserID).css("color", "white");
                    $("#<%=txt_FirstNameEdit.ClientID %>").val(result.d.FirstName);
                    $("#<%=txt_LastNameEdit.ClientID %>").val(result.d.LastName);
                    $("#<%=drp_GenderEdit.ClientID %>").val(result.d.Gender);
                    $("#<%=txt_BirthDateEdit.ClientID %>").val(result.d.BirthDate);
                    $("#<%=drp_DepartmentEdit.ClientID %>").val(result.d.DepartmentID);
                    $("#<%=drp_PositionEdit.ClientID %>").val(result.d.PositionID);
                    $("#<%=txt_HPNumberEdit.ClientID %>").val(result.d.HPNo);
                    $("#<%=txt_HomeNoEdit.ClientID %>").val(result.d.HomeNo);
                    $("#<%=txt_AddressEdit.ClientID %>").val(result.d.Address);
                    $("#<%=txt_StateEdit.ClientID %>").val(result.d.State);
                    $("#<%=txt_CityEdit.ClientID %>").val(result.d.City);
                    $("#<%=txt_PostCodeEdit.ClientID %>").val(result.d.PostCode);
                    $("#<%=txt_EducationBackgroundEdit.ClientID %>").val(result.d.EducationBackground);
                    $("#<%=txt_EmailEdit.ClientID %>").val(result.d.Email);

                    $("#divLoading").dialog('close');
                    $("#divModelStaff").dialog('open');
                    $("#divModelStaff").dialog
                    ({
                        bgiframe: true,
                        modal: true,
                        width: 400,
                        buttons:
                        {
                            "Update": function() {
                                $("#divUpdating").dialog('open');
                                $("#divUpdating").dialog
                                ({
                                    bgiframe: true,
                                    modal: true
                                });

                                var objUser = new Object();

                                objUser.sUserId = $("#<%=lbl_UserId.ClientID %>").text();
                                objUser.sFN = $("#<%=txt_FirstNameEdit.ClientID %>").val();
                                objUser.sLN = $("#<%=txt_LastNameEdit.ClientID %>").val();
                                objUser.sGender = $("#<%=drp_GenderEdit.ClientID %>").val();
                                objUser.dtDOB = $("#<%=txt_BirthDateEdit.ClientID %>").val();
                                objUser.iDepartmentId = $("#<%=drp_DepartmentEdit.ClientID %>").val();
                                objUser.iPositionId = $("#<%=drp_PositionEdit.ClientID %>").val();
                                objUser.sHPNo = $("#<%=txt_HPNumberEdit.ClientID %>").val();
                                objUser.sHomeNo = $("#<%=txt_HomeNoEdit.ClientID %>").val();
                                objUser.sAdd = $("#<%=txt_AddressEdit.ClientID %>").val();
                                objUser.sState = $("#<%=txt_StateEdit.ClientID %>").val();
                                objUser.sCity = $("#<%=txt_CityEdit.ClientID %>").val();
                                objUser.sPostcode = $("#<%=txt_PostCodeEdit.ClientID %>").val();
                                objUser.sEducationBg = $("#<%=txt_EducationBackgroundEdit.ClientID %>").val();
                                objUser.sEmail = $("#<%=txt_EmailEdit.ClientID %>").val();

                                $.ajax
                                ({
                                    type: "OST",
                                    contentType: "application/json; charset=utf-8",
                                    url: "../Ajax/LoadingData.asmx/UpdateStaffInfo",
                                    data: JSON.stringify(objUser),
                                    success: function(result) {
                                        if (result.d == true) {
                                            $("#divLoading").dialog('close');
                                            $("#divModelStaff").dialog('close');
                                            $("#divUpdating").dialog('close');
                                        }
                                        else {
                                            var sHTML = "";
                                            sHTML += "<center><br/ ><br/><img src='../Icon/Warning.gif' width='20px'><font size='3px'>Update failure!</font></center>";
                                            $("#divModal").html(sHTML);
                                            $("#divModal").dialog('open');
                                            $("#divModal").dialog
                                            ({
                                                bgiframe: true,
                                                modal: true
                                            });
                                        }
                                    },
                                    dataType: "json"
                                });
                            },
                            "Cancel": function() {
                                $(this).dialog('close');
                            }
                        }
                    });
                },
                dataType: "json"
            });
        }

<--------------------ajax部分----------------------------------------------------------------------------->


<--------------------c#部分----------------------------------------------------------------------------->
[WebMethod]
        public Staff LoadStaffInfo(string sUId)
        {
            UserBLL objUserBLL = new UserBLL(context);
            User objUser = new User();
            Staff objStaff = new Staff();

            objUser = objUserBLL.GetUserByID(sUId);
            objStaff.UserID = sUId;
            objStaff.FirstName = objUser.FirstName;
            objStaff.LastName = objUser.LastName;
            objStaff.Gender = objUser.Gender;
            objStaff.BirthDate = objUser.DOB.Value.ToShortDateString();
            objStaff.DepartmentID = objUser.Department.DepartmentId;
            objStaff.PositionID =  objUser.Position.PositionId;
            objStaff.HPNo = objUser.HpNum;
            objStaff.Address = objUser.Address;
            objStaff.Email = objUser.Email;
            objStaff.State = objUser.State;
            objStaff.City = objUser.City;
            objStaff.PostCode = objUser.PostCode;
            objStaff.HomeNo = objUser.HomeNo;
            objStaff.EducationBackground = objUser.EducationBackground;

            return objStaff;
        }


[WebMethod]
        public bool UpdateStaffInfo(string sUserId, string sFN, string sLN, string sGender, DateTime dtDOB, int iDepartmentId, int iPositionId, string sHPNo, string sHomeNo, string sAdd, string sState, string sCity, string sPostcode, string sEducationBg, string sEmail)
        {
            try
            {
                Department objDepartment = new Department();
                Position  objPosition = new Position();
                User objUser = new User();
                DepartmentBLL  objDepartmentBLL = new DepartmentBLL(context);
                PositionBLL  objPositionBLL = new PositionBLL(context);
                UserBLL  objUserBLL = new UserBLL(context);

                objDepartment = objDepartmentBLL.GetDepartmentByID(iDepartmentId);
                objPosition = objPositionBLL.GetPositionByID(iPositionId);

                objUser.UserId = sUserId;
                objUser.FirstName = sFN;
                objUser.LastName = sLN;
                objUser.Gender = sGender;   //rbl_GenderEdit.Items
                objUser.Department = objDepartment;
                objUser.Position = objPosition;
                objUser.DOB = dtDOB;
                objUser.HpNum = sHPNo;
                objUser.Address = sAdd;
                objUser.Email = sEmail;
                objUser.State = sState;
                objUser.City = sCity;
                objUser.PostCode = sPostcode;
                objUser.HomeNo = sHomeNo;
                objUser.EducationBackground = sEducationBg;


                return objUserBLL.UpdateUser(objUser);
            }
            catch (Exception ex)
            {
                return false;
            }
        }


<--------------------c#部分----------------------------------------------------------------------------->



我debugging之后那些没被抓出来的user资料被设为null
我是大猪头
2009-11-27 12:26 AM
<----------------------Linq class---------------------------------------------------------------------->

public bool UpdateUser(DAL.User objUser)
        {
            if (objUser != null)
            {
                try
                {
                        var query = (from u in context.User
                                     where u.UserId == objUser.UserId
                                     select u).FirstOrDefault();

                        
                        if (query != null)
                        {
                            context.ApplyPropertyChanges("User",objUser);
                            context.SaveChanges();
                        }                       
                        else
                        {
                            return false;
                        }
                     return true;

                    }
                    catch (Exception ex)
                    {
                        return false;
                    }
                  
                }
                else return false;                             
            }

<----------------------Linq class---------------------------------------------------------------------->
goodday
2009-11-27 11:20 AM
衰仔 解决了 就关贴咯

我是大猪头
2009-11-27 01:03 PM
原帖由 goodday 于 2009-11-27 11:20 AM 发表
衰仔 解决了 就关贴咯



那你就关吧em0013 em0013
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-3-10 09:24 PM , Processed in 0.099732 second(s), 24 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部