添加修改日志步骤

来源:互联网 发布:一人一首成名曲网络篇 编辑:程序博客网 时间:2024/05/01 18:04

在ASP.NET   中获取控件的值Request.Form["控件名称"].ToString();

前台:
1. 增加js代码
var ArrOldValue=new Array();
        window.onload=function(){
          var arr = document.form1.elements;
          for(var i=0;i<arr.length;i++){                     
              if(arr[i].type == "text"||arr[i].type=="textarea")//textbox
              {                   
                 ArrOldValue[ArrOldValue.length] = new Array(arr[i].id,arr[i].value,arr[i].title);
              }
              else if(arr[i].type=="checkbox")//checkbox
              {                
                 ArrOldValue[ArrOldValue.length] = new Array(arr[i].id,arr[i].checked==true?"是":"否",arr[i].parentNode.title);                 
              }
              else if(arr[i].type=="select-one")//dropdownlist
              {
                 var dropText="";
                 var index=arr[i].selectedIndex;
                 if(arr[i].value=="0"||arr[i].value==""||arr[i].value=="-1")//没选择
                 {
                     dropText="空";
                 }
                 else
                 {
                     dropText=arr[i].options[index].text;
                 }              
                 ArrOldValue[ArrOldValue.length] = new Array(arr[i].id,dropText,arr[i].title);
              }
                        
          }
        }
       
        function Check()
        {
           var entID='<%=EditID %>';
           var entCode='<%=entCode %>';
           var recorderName='<%=recorderName %>';
           var recorderID='<%=recorderID %>';
          
           if(Validator.Validate(form1,2))  
           {      
              var logInfo="";
              for(var i=0;i<ArrOldValue.length;i++)
              {
                var obj=document.getElementById(ArrOldValue[i][0]);
                if(obj.type == "text"||obj.type=="textarea")//textbox
                {
                  if(obj.value!=ArrOldValue[i][1])
                  {
                     var oldText=ArrOldValue[i][1]==""?"空":ArrOldValue[i][1];
                     var newText=obj.value==""?"空":obj.value;                                     
                     logInfo+=ArrOldValue[i][2]+": 由 /""+oldText+"/"  被修改为  /""+newText+"/"/n";
                  }
                }
                else if(obj.type=="checkbox")//checkbox
                { 
                   var boolText= obj.checked==true?"是":"否";              
                   if(boolText!=ArrOldValue[i][1])
                   {                    
                     logInfo+=ArrOldValue[i][2]+": 由 /""+ArrOldValue[i][1] + "/"  被修改为  /""+boolText + "/"/n";
                   }
                }
                else if(obj.type=="select-one")//dropdownlist
                {
                   var index=obj.selectedIndex;                
                   var dropText = obj.options[index].text;
                   if(obj.value=="0"||obj.value==""||obj.value=="-1")//没选择
                   {
                      dropText="空";
                   }                  
                   if(dropText!=ArrOldValue[i][1])
                   {
                      logInfo+=ArrOldValue[i][2]+": 由 /""+ArrOldValue[i][1]+"/"  被修改为  /""+dropText+"/"/n";
                   }
                }
                               
              }
              //alert(logInfo);            
              if(logInfo!="")
              {
                 NewEntEdit1.Add(logInfo,entID,entCode,recorderName,recorderID);
              }
              return true;        
            }
            else
            {
              return false;
            }
         
        }

2.为每个控件的ToolTip赋值(便于取对应字段的名称)
3.把人员ID的隐藏input的type改为type="hidden",这样js取值时就不会把此有取到。
4.把 <form id="form1" runat="server" onsubmit="return Validator.Validate(this,2)" method="post">
中的onsubmit="return Validator.Validate(this,2)"去掉,因为后台会为保存按钮添加属性

5.把var strName,strCardID,strUrl,strPosition,strWorkYear;改为var strUrl;
因为其他的没用到


后台
1.增加
//主表ID
public int EditID;
public string entCode, recorderName, recorderID;//前台保存日志时用到

2.注册ajax
Ajax.Utility.RegisterTypeForAjax(typeof(NewEntEdit1));

3.为保存按钮添加属性
this.BtnSaveEnt.Attributes.Add("OnClick", "return Check();");

4.得到entCode, recorderName, recorderID的值
recorderName = this.UserName;//前台用到
recorderID = this.UserId.ToString();//前台用到
entCode = model.EntCode;//前台用到

5.ajax方法

        /// <summary>
        /// 记录日志信息
        /// </summary>
        /// <param name="logInfo">日志信息</param>
        /// <param name="entID">企业ID</param>
        /// <param name="entCode">企业代码</param>
        /// <param name="recorderName">变更者</param>
        /// <param name="recorderID">变更者ID</param>
        [Ajax.AjaxMethod]
        public void Add(string logInfo,string entID,string entCode,string recorderName,string recorderID)
        {
            FDA.Ent.BLL.FDAEnterprise bllFDAEnterprise = new FDA.Ent.BLL.FDAEnterprise();
            bllFDAEnterprise.AddLog(logInfo, entID, entCode, recorderName, recorderID);           
        }

原创粉丝点击