ASP.NET常用小技巧

用ASP.NET下载文件时,文件名为乱码的问题
Response.AddHeader("Content-Disposition", "attachment;FileName=" + System.Web.HttpUtility.UrlEncode(sFileName, System.Text.Encoding.UTF8) + ".xls") 

多个小文件上传

<% @ Page language="c#" Codebehind="UpLoad.aspx.cs" AutoEventWireup="false" Inherits="WebPortal.Upload"  %>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
< HTML >
  
< HEAD >
    
< title > 多文件上传 </ title >
    
< script  language ="JavaScript" >
    
function addFile()
    
{
     
var str = '<INPUT type="file" size="50" NAME="File">'
     document.getElementById(
'MyFile').insertAdjacentHTML("beforeEnd",str)
    }

    
</ script >
  
</ HEAD >
  
< body >
    
< form  id ="form1"  method ="post"  runat ="server"  enctype ="multipart/form-data" >
      
< div  align ="center" >
        
< h3 > 多文件上传 </ h3 >
        
< id ="MyFile" >< INPUT  type ="file"  size ="50"  NAME ="File" ></ P >
        
< P >
          
< input  type ="button"  value ="增加(Add)"  onclick ="addFile()" >
          
< input  onclick ="this.form.reset()"  type ="button"  value ="重置(ReSet)" >
          
< asp:Button  Runat ="server"  Text ="开始上传"  ID ="UploadButton" ></ asp:Button >
        
</ P >
        
< P >
        
< asp:Label  id ="strStatus"  runat ="server"  Font-Names ="宋体"  Font-Bold ="True"  Font-Size ="9pt"  
          Width
="500px"  BorderStyle ="None"  BorderColor ="White" ></ asp:Label >
        
</ P >  
      
</ div >
    
</ form >
  
</ body >


using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;

namespace  WebPortal
{
  
/// <summary>
  
/// UpLoad 的摘要说明。
  
/// 实现多文件上传
  
/// </summary>

  public class Upload : System.Web.UI.Page
  
{
    
protected System.Web.UI.WebControls.Button UploadButton;
    
protected System.Web.UI.WebControls.Label strStatus;

    
private void Page_Load(object sender, System.EventArgs e)
    
{
      
/// 在此处放置用户代码以初始化页面
      if (this.IsPostBack) this.SaveImages();
    }


    
private Boolean SaveImages()
    
{
      
///'遍历File表单元素
      HttpFileCollection files  = HttpContext.Current.Request.Files;

      
/// '状态信息
      System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
      strMsg.Append(
"上传的文件分别是:<hr color=red>");
      
try
      
{
        
for(int iFile = 0; iFile < files.Count; iFile++)
        
{
          
///'检查文件扩展名字
          HttpPostedFile postedFile = files[iFile];
          
string fileName, fileExtension;
          fileName 
= System.IO.Path.GetFileName(postedFile.FileName);
          
if (fileName != "")
          
{
            fileExtension 
= System.IO.Path.GetExtension(fileName);
            strMsg.Append(
"上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
            strMsg.Append(
"客户端文件地址:" + postedFile.FileName + "<br>");
            strMsg.Append(
"上传文件的文件名:" + fileName + "<br>");
            strMsg.Append(
"上传文件的扩展名:" + fileExtension + "<br><hr>");
            
///'可根据扩展名字的不同保存到不同的文件夹
            
///注意:可能要修改你的文件夹的匿名写入权限。

            postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/"+ fileName);
          }

        }

        strStatus.Text 
= strMsg.ToString();
        
return true;
      }

      
catch(System.Exception Ex)
      
{
        strStatus.Text 
= Ex.Message;
        
return false;
      }

    }

  
Web 窗体设计器生成的代码
  }

}


编辑Datagrid的格式可以设置它的数据格式表达式来实现
例子
 保留两位小数并且后面加上%号 {0:N2}%
 设置日期格式 为YYYY-MM-DD {0:yyyy-MM-dd}
 设置千分号并且保留两位小数 {0: #,##0.00;-#,##0.00;0.00}
 在数据格式设置表达式中输入
<DIV   style='overflow:hidden;width:100px;'><noBR>{0}</noBR></DIV>
这样列不会被撑破,字符也完整
 省略号
<SPAN style="width:100px;overflow:hidden;text-overflow:ellipsis;"><NOBR>{0}</NOBR></SPAN>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值