linq To SQl之多表关联修改

来源:互联网 发布:淘宝离职证明哪家靠谱? 编辑:程序博客网 时间:2024/06/05 01:16

protected void gvUser_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
        {
            //UserId  -- User
            string strUserId = e.Keys["ID"].ToString();
            int endIndex = strUserId.IndexOf("_");
            strUserId = strUserId.Substring(0, endIndex);
            int id = Convert.ToInt32(strUserId);

            //ID -- UserGroupUser
            string strId = e.Keys["ID"].ToString();
            int startIndex = strId.IndexOf("_");
            strId = strId.Substring(startIndex + 1);
            int intUserId = Convert.ToInt32(strId);

            //ASPxGridView中获得的控件
            ASPxTextBox currentText = ((ASPxGridView)sender).FindEditFormTemplateControl("txtUserName") as ASPxTextBox;
            ASPxTextBox UserPWD = ((ASPxGridView)sender).FindEditFormTemplateControl("txtUserPWD") as ASPxTextBox;
            ASPxComboBox currentBox = ((ASPxGridView)sender).FindEditFormTemplateControl("cboUserGroup") as ASPxComboBox;
 
            //查询本条的UserGroupUser表记录 
            Casagroup.Entities.UserGroupUser userGroupUser = eDataContext.UserGroupUser.First(c => c.ID == id);
            //此 Value 为 ASPxComboBox的属性,而非页面绑定的Value='<%# Bind("UserGroupName") %>', 是专用来显示相应用户组的
            string v = (string)currentBox.Value;
            userGroupUser.UserGroupID = int.Parse(v);
            //查询本条的User表记录
            Casagroup.Entities.User user = eDataContext.User.First(c => c.UserID == intUserId);
            user.UserName = currentText.Text.Trim();          
            user.UserPWD = _common.EncryptToMD5(UserPWD.Text.Trim());          
            //同步修改
            eDataContext.SubmitChanges();
            e.Cancel = true;
            this.gvUser.CancelEdit();
            BindUserInfo();
        }

       

原创粉丝点击