string path="E:\\CnWorkOrder\\PdaConfigFile.xls";
if (path == "")
  {
  Response.Write("<script>alert('请选择要导入文件的地址.')</script>");
  // }else if(FuloadException.PostedFile.FileName.ToLower().Substring(FuloadException.PostedFile.FileName.LastIndexOf("."))!="xls"){
  }
  else if (path.Substring(path.LastIndexOf('.') + 1).Equals("xls") || path.Substring(path.LastIndexOf('.') + 1).Equals("xlsx"))
  {
  Response.Write("<script>alert('选择的文件格式不正确,请重新选择.')</script>");
  }
  else if (!(path.Substring(path.LastIndexOf('.') + 1).Equals("xls") || path.Substring(path.LastIndexOf('.') + 1).Equals("xlsx")))
  {
  执行相应的操作
  }老是跳到Response.Write("<script>alert('选择的文件格式不正确,请重新选择.')</script>");这句而不执行下面的操作
这样截取判断不行么?
如果这样不行的话那该要怎样才好呢? 我要导入的的文件类型是(xls)类型的

解决方案 »

  1.   

    不用这么麻烦的,.net Framework已封装好的取文件扩展名的方法:
    string ext = System.IO.Path.GetExtension(FuloadException.PostedFile.FileName);
      

  2.   

    string path="E:\\CnWorkOrder\\PdaConfigFile.xls";
    if (path == "")
      {
      Response.Write("<script>alert('请选择要导入文件的地址.')</script>");
      // }else if(FuloadException.PostedFile.FileName.ToLower().Substring(FuloadException.PostedFile.FileName.LastIndexOf("."))!="xls"){
      }
      else if (path.Substring(path.LastIndexOf('.') + 1).Equals("xls") || path.Substring(path.LastIndexOf('.') + 1).Equals("xlsx")) //此处得到了正确的格式,所以总是执行
      {
      Response.Write("<script>alert('选择的文件格式不正确,请重新选择.')</script>");
      }
      else if (!(path.Substring(path.LastIndexOf('.') + 1).Equals("xls") || path.Substring(path.LastIndexOf('.') + 1).Equals("xlsx"))) //此处得到错误的格式  {
      执行相应的操作
      }楼主太粗心了
      

  3.   

    path.Substring(path.LastIndexOf('.') + 1).Equals("xls") || path.Substring(path.LastIndexOf('.') + 1).Equals("xlsx")这个应该取反吧