发邮件 上传图像 JS中的EVENT GRIDVIEW的简单应用 JS中一些寻找控件的用法

GRIDVIEW一直没用过.现在把它的代码放在这里. 以备不时之需

 

 

< asp:GridView ID = " GridView1 "  runat = " server "  Height = " 144px "   Width = " 768px "  AllowPaging = " True "  CellPadding = " 4 "  ForeColor = " #333333 "  
                GridLines
= " None "  OnPageIndexChanging = " GridView1_PageIndexChanging "  PageSize = " 5 "  AutoGenerateColumns = " false "  OnRowCancelingEdit = " GridView1_RowCancelingEdit "  OnRowDeleting = " GridView1_RowDeleting "  OnRowEditing = " GridView1_RowEditing "  OnRowUpdating = " GridView1_RowUpdating " >  
                 
< Columns >  
                   
< asp:BoundField DataField = " u_id "  HeaderText = " 用户ID "   ReadOnly = " True " />  
                   
< asp:BoundField DataField = " u_name "  HeaderText = " 用户名 "   />  
                   
< asp:BoundField DataField = " u_age "  HeaderText = " 用户年龄 "   />  
                   
< asp:BoundField DataField = " u_sex "  HeaderText = " 用户性别 "   />  
                   
< asp:BoundField DataField = " u_phone "  HeaderText = " 用户电话 "   />  
                   
< asp:BoundField DataField = " u_email "  HeaderText = " 用户Email "   />  
                   
< asp:BoundField DataField = " u_address "  HeaderText = " 用户地址 "   />  
                   
< asp:CommandField HeaderText = " 选择 "  ShowSelectButton = " true "   />  
                   
< asp:CommandField HeaderText = " 删除 "  ShowDeleteButton = " true " />  
                   
< asp:CommandField HeaderText = " 编辑 "  ShowEditButton = " true "   />  
                 
</ Columns >  
                 
< FooterStyle BackColor = " #990000 "  Font - Bold = " True "  ForeColor = " White "   />  
                 
< RowStyle BackColor = " #FFFBD6 "  ForeColor = " #333333 "   />  
                 
< SelectedRowStyle BackColor = " #FFCC66 "  Font - Bold = " True "  ForeColor = " Navy "   />  
                 
< PagerStyle BackColor = " #FFCC66 "  ForeColor = " #333333 "  HorizontalAlign = " Center "   />  
                 
< HeaderStyle BackColor = " #990000 "  Font - Bold = " True "  ForeColor = " Red "   />  
                 
< AlternatingRowStyle BackColor = " White "   />  
             
</ asp:GridView >  

--------------------------------------------------------------  
  
protected   void  GridView1_RowDeleting( object  sender, GridViewDeleteEventArgs e) 
    

        
string sqlstr2 = "delete from Users where u_id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"
        SqlConnection con 
= new SqlConnection(str); 
        SqlCommand cmd 
= new SqlCommand(sqlstr2,con); 
        con.Open(); 
        cmd.ExecuteNonQuery(); 
        con.Close(); 
        Databinds(); 
    }
 
    
// 更新的功能 
     protected   void  GridView1_RowUpdating( object  sender, GridViewUpdateEventArgs e) 
    

        SqlConnection con 
= new SqlConnection(str); 
        
string sqlstr = "update Users set u_name='" 
            
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',u_age='" 
            
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',u_sex='"  
            
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',u_phone='" 
            
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',u_email='" 
            
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim() + "',u_address='"  
            
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim() + "'where u_id='" 
            
+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'"
        SqlCommand cmd 
= new SqlCommand(sqlstr,con); 
        con.Open(); 
        cmd.ExecuteNonQuery(); 
        con.Close(); 
        GridView1.EditIndex 
= -1
        Databinds(); 

    }
 
    
// 编辑的功能 
     protected   void  GridView1_RowEditing( object  sender, GridViewEditEventArgs e) 
    

        GridView1.EditIndex 
= e.NewEditIndex; 
        Databinds(); 
    }
 
    
// 退出编辑 
     protected   void  GridView1_RowCancelingEdit( object  sender, GridViewCancelEditEventArgs e) 
    

        GridView1.EditIndex 
= -1
        Databinds(); 
    }

 

这里是在母版页里做验证时要用到的. 必须写在INIT事件中.,因为母版页的Load在子页之后

 

protected   override   void   OnInit(EventArgs   e)
{
            //--添加验证代码段..

            base.OnInit   (e);
}

母版页中直接写就OK了.

GRID中再次寻找指定的控件.现在第一次看到有在TABLE中可以用GETELEMENTBYID之类

的用法.


使用JS遍历GridView里的TextBox,并判断.提交前调用JS方法
这个方法得好好想想,  在一个TABLE中再寻找另外一个东东

< script type = " text/javascript " >
   
function  onClientClick()
   
{
            
var inputs = document.getElementById("<%=GridView1.ClientID%>").getElementsByTagName("input");
        
for(var i=0; i <inputs.length; i++)
        
{
            
if(inputs[i].type=="text")
            
{
                inputs[i].value ...   
//这是TextBox的Text值,根据你的情况进行验证 
                //....
            }

        }

   }

     
</ script >

 

 

这里写一个可以发送附件的邮件类.

  string  SendTos = SendTo.Text.Trim();   // 发送人
             string  CcTos = CcTo.Text.Trim();       // 抄送人
             string [] Receiver = System.Text.RegularExpressions.Regex.Split(SendTos + CcTos, " , " );   // 总收件人
             string  FromMail = " ustbwuyi1@163.com " ; // 发件人
             string  Title = " 你好 " // 邮件主题
             string  Body = " 附件里重要文档,请查收! " ;    // 邮件主体
             string  ShowName = " ustbwuyi " ; // 显示名字

            
if (SendTos != ""   ||  CcTos != "" )
            
{
                
//用户名(取发送邮箱的@前面的部分,即ustbwuyi1
                string MailUserName=FromMail.Substring(0,FromMail.IndexOf("@"));

                
//密码
                string MailPassword="ustbwuyi";
                System.Web.Mail.MailMessage mailmessage
=new MailMessage();
                mailmessage.From
=FromMail;
                mailmessage.Subject
=Title;
                mailmessage.Body
=Body;

                
//添加附件

                ArrayList FileNames;
                
//如果存在附件
                if(FileNames.Count>=1)
                
{                    
                    
//添加附件
                        string Filename;
                        
for(int k=0;k<FileNames.Count;k++)
                        
{                            
                            Filename
=FileNames[k].ToString();
                            mailmessage.Attachments.Add(
new MailAttachment(Filename));                        
                        }
            
                    }

                }

                mailmessage.Fields.Add(
" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate " , 1 );
                mailmessage.Fields.Add(
" http://schemas.microsoft.com/cdo/configuration/sendusername " ,MailUserName);
                mailmessage.Fields.Add(
" http://schemas.microsoft.com/cdo/configuration/sendpassword " ,MailPassword);

                
            
// 向收件人和抄送人循环发送
                 for ( int  j = 0 ;j < Receiver.Length;j ++ )
                
{
                    mailmessage.To
=Receiver[j].ToString();
                    System.Web.Mail.SmtpMail.SmtpServer
="smtp.163.com";
                    
try
                    
{
                        System.Web.Mail.SmtpMail.Send(mailmessage);
                    }

                    
catch(Exception ex)
                    
{        
                        Response.Write(
"<script language='javascript'>alert('邮件发送失败,请您和ustbwuyi联系(QQ:108556024)!')</script>");
                    }

                }

            }

 

 

string  filename = this .file1.PostedFile.FileName;            
                        
// 定义正则表达式
                        Regex reg  =   new  Regex( @" ^.+.(jpg)|(gif)|(swf)|(jpeg)$ " );
                        
// 用正则表达式来判定
                         if ( ! reg.Match(filename.ToLower()).Success)
                        
{                    base.Alert("上传的文件类型不符合要求!");    }
                        
// 获取上传文件的名称
                         string  name  =  DateTime.Now.ToString( " yyyyMMddhhmmss " ) + filename.Substring(filename.LastIndexOf( " / " ) + 1 );
                        
// 要上传的服务器地址
                         string  path = Server.MapPath( string .Format( " ~/AdFiles/ " )) + name;
                        
try
                        
{                            this.file1.PostedFile.SaveAs(path);
                        }

                        
catch (Exception ee)
                        
{                      base.Alert("图片上传失败,请与服务器空间商联系确认权限!");
                        }

 

 

其次是上传权限的设置,如果是在本地,需要对虚拟目录下该文件夹设置写入权限,在该目录上鼠标右键->属性->安全->everyone->写入即可。
如果是在服务器,除了需要有该文件夹的写入权限之外,还要在web.config里面设置一下。

在system.web节点里面添加如下代码:
<identity impersonate="true" userName="UserName" password="PassWord" />

 

 

发一些JS代码中的EVENT的属性和事件.以做个总结吧. 

Event对象
   1   Event对象的主要属性和方法
  event代表事件的状态,专门负责对事件的处理,它的属性和方法能帮助我们完成很多和用户交互的操作,下面我们就来看看它的一些属性和方法。
        type:事件的类型,就是HTML标签属性中,没有“on”前缀之后的字符串,例如“Click”就代表单击事件。

  srcElement:事件源,就是发生事件的元素。比如<a οnclick="check()"></a> a这个链接是事件发生的源头,也就是该事件的srcElement。

  button:声明了被按下的鼠标键,是一个整数。0代表没有按键,1代表鼠标左键,2代表鼠标右键,4代表鼠标的中间键,如果按下了多个鼠标键,就把这些值加在一起,所以3就代表左右键同时按下。

  clientX/clientY:是指事件发生的时候,鼠标的横、纵坐标,返回的是整数,它们的值是相对于包容窗口的左上角生成的。

  offsetX/offsetY:鼠标指针相对于源元素的位置,可以确定单击Image对象的哪个象素。

  altKey,ctrlKey,shiftKey:顾名思义,这些属性是指鼠标事件发生的时候,是否同时按住了Alt、Ctrl或者Shift键,返回的是一个布尔值。

  keyCode:返回keydown和keyup事件发生的时候,按键的代码以及keypress事件的Unicode字符。比如event.keyCode=13代表按下了回车键;

  fromElement、toElement前者是指代mouseover事件移动过的文档元素,后者指代mouseout事件中鼠标移动到的文档元素。

  cancelBubble:一个布尔属性,把它设置为true的时候,将停止事件进一步起泡到包容层次的元素,它用于检测是否接受上层元素的事件的控制。true代表不被上层元素的事件控制,false代表允许被上层元素的事件控制。

  returnValue:一个布尔值属性,设置为false的时候可以阻止浏览器执行默认的事件动作,相当于<a href=”#” οnclick=”ProcessMethod();return false;” />。

         attachEvent()和detachEvent()方法:为制定DOM对象事件类型注册多个事件处理函数的方法,它们有两个参数,第一个是事件类型,第二个是事件处理函数。在attachEvent()事件执行的时候,this关键字指向的是window对象,而不是发生事件的那个元素。

 

C#中一些转换的含数.

   变量.ToString()      
   字符型转换 转为字符串 
   12345.ToString("n");        //生成   12,345.00 
   12345.ToString("C");        //生成 ¥12,345.00 


System.Text.Encoding.Default.GetBytes(变量) 
   字码转换 转为比特码 
      如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 
   然后可得到比特长度: 
      len = bytStr.Length; 

这个主要是可以用来区分汉字还是英文用的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值