ASP.NET项目申报系统-5.3~5.4(FileUpload和GridView用法)
2012-05-31 10:15
387 查看
5.3
GridView中,某列的内容超过它的长度后显示省略号(...)而不是把GridView撑大。
关键点是GridView的CssClass和ItemStyle中的CssClass。
页面前台:
Css文件:
5.4
FileUpload的用法:
页面前台:
JavaScript代码:
后台代码:
GridView中,某列的内容超过它的长度后显示省略号(...)而不是把GridView撑大。
关键点是GridView的CssClass和ItemStyle中的CssClass。
页面前台:
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0 style="font-size:small"> <tr> <td align="center"> <asp:GridView ID="GridViewDown" runat="server" ShowHeader="false" ShowFooter="false" AllowPaging="true" PageSize="6" AutoGenerateColumns="False" BorderWidth="0" Width="98%" GridLines="None" CssClass="GridViewCSS" style="margin-bottom: 0px"> <PagerSettings Visible="false"/> <Columns> <asp:TemplateField> <ItemTemplate> <asp:Image ID="Imagelist" runat="server" ImageUrl="~/Images/homepage/list.gif" /> </ItemTemplate> </asp:TemplateField> <asp:HyperLinkField DataTextField="FileName" DataNavigateUrlFields="FileName" DataNavigateUrlFormatString="../Upload/Down/{0}"> <ItemStyle Width="96%" CssClass="content" /> </asp:HyperLinkField> </Columns> </asp:GridView> </td> </tr> </TABLE>
Css文件:
.GridViewCSS { table-layout: fixed;/*重要*/ text-align:center; } .content { text-align:left; width:100%; /*下面三条重要*/ overflow:hidden; white-space:nowrap; text-overflow:ellipsis; /*显示省略号*/ }
5.4
FileUpload的用法:
页面前台:
<asp:HiddenField ID="HiddenFieldfilename" runat="server" /> <table cellspacing="0" cellpadding="0" class="TableMain"> <tr> <td height="24px"class="TableLineItem" colspan="4"> <span style="color:White;font-size:medium"> 申报单位信息附件上传</span> </td> </tr> <tr> <td class="TD1" rowspan="2">企业法人营业执照</td> <td> <asp:FileUpload ID="FileUpload1" runat="server" Size="50"/> </td> <td width="30px"> <asp:Button ID="ButtonUpload1" runat="server" Text="上传" OnClientClick="return beforeUploadUnit(1);" onclick="ButtonUpload1_Click"/> </td> <td width="30px"> </td> </tr> <tr> <td class="TDBottom"> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </td> <td width="30px" class="TDBottom"> <asp:Button ID="ButtonDown1" runat="server" Text="下载" Visible="false" onclick="ButtonDown1_Click"/> </td> <td width="30px" class="TDBottom"> <asp:Button ID="ButtonDelete1" runat="server" Text="删除" onclick="ButtonDelete1_Click" Visible="false"/> </td> </tr> ... </table>
JavaScript代码:
function beforeUploadUnit(obj) { var file = document.getElementById("FileUpload" + obj).value; var fileArray = file.split('\\'); var filename = fileArray[fileArray.length - 1]; //限制上传附件的类型 var suffix = filename.substring(filename.lastIndexOf(".") + 1); if (suffix != "pdf" && suffix != "doc" && suffix != "docx" && suffix != "xls" && suffix != "xlsx" && suffix != "rar" && suffix != "zip") { alert("上传文件的格式不合格,请重新上传!"); return false; } //限制上传文件名的长度 if (filename.length > 45) { alert("上传文件的名称不能长于45个字符!"); return false; } //限制上传文件不能同名 var nameinfo = document.getElementById("HiddenFieldfilename").value; var nameArray = nameinfo.split('|'); for (var i = 0; i < nameArray.length; i++) { if (nameArray[i] == filename) { break; } } if (i < nameArray.length) { alert("上传文件不能同名,请修改后再上传!"); return false; } return true; }
后台代码:
//Page_Onload里面进行初始化 //修改HiddenFieldfilename的值 private void removeFileName(string filename) { int startIndex = HiddenFieldfilename.Value.IndexOf(filename); if (startIndex == 0) { if (filename.Length == HiddenFieldfilename.Value.Length) { HiddenFieldfilename.Value = ""; } else { HiddenFieldfilename.Value = HiddenFieldfilename.Value.Remove(startIndex, filename.Length); } } else { HiddenFieldfilename.Value = HiddenFieldfilename.Value.Remove(startIndex - 1, filename.Length + 1); } } //修改HiddenFieldfilename的值 private void addFileName(string filename) { if (HiddenFieldfilename.Value == "") { HiddenFieldfilename.Value = filename; } else { HiddenFieldfilename.Value += "|" + filename; } } protected void ButtonDelete1_Click(object sender, EventArgs e) { if (Label1.Text != "") { string id = Session["UnitID"].ToString(); string file = Server.MapPath("~/Upload/UnitAccessory") + "\\" + id + Label1.Text; //获取文件属性 FileAttributes attrs = File.GetAttributes(file); // 下面表达式中的 1 是 FileAttributes.ReadOnly 的值 // 此表达式是把 ReadOnly 所在的位改成 0 attrs = (FileAttributes)((int)attrs & ~(1)); File.SetAttributes(file, attrs); File.Delete(file); //修改HiddenFieldfilename removeFileName(Label1.Text); //对数据库中的值进行更新,没有附件的时候,就删除所对应的table UnitAccessoryManage accessManage = new UnitAccessoryManage(); if (HiddenFieldfilename.Value == "") { accessManage.Delete(id); } else { UnitAccessory access = accessManage.GetModel(id); access.LegalLicense = null; accessManage.Update(access); } Label1.Text = ""; ButtonDelete1.Visible = false; ButtonDown1.Visible = false; FileUpload1.Enabled = true; ButtonUpload1.Enabled = true; } } protected void ButtonUpload1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { string fileFormat = FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf(".")+1); //alert中显示aspx中定义的变量 //ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert(' "+fileFormat+" ')</script>"); if (fileFormat != "doc" && fileFormat != "docx" && fileFormat != "xls" && fileFormat != "xlsx" && fileFormat != "pdf" && fileFormat != "rar" && fileFormat != "zip") { ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('上传文件格式不正确,请重新上传!')</script>"); return; } if (FileUpload1.PostedFile.ContentLength> 6 * 1024 * 1024) { ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('上传文件大小不能超过4MB,请重新上传!')</script>"); return; } string id = Session["UnitID"].ToString(); string filePath = Server.MapPath("~/Upload/UnitAccessory"); string filename = FileUpload1.FileName; if (filename.Length > 45) { ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('上传文件名称不能长于40个字符,请重命名后再上传!')</script>"); return; } string file = filePath + "\\" + id + filename; if (File.Exists(file)) { FileAttributes attrs = File.GetAttributes(file); attrs = (FileAttributes)((int)attrs & ~(1)); File.SetAttributes(file, attrs); } UnitAccessoryManage accessManage = new UnitAccessoryManage(); UnitAccessory access; try { FileUpload1.SaveAs(file); if (accessManage.Exists(id)) { access = accessManage.GetModel(id); access.LegalLicense = filename; accessManage.Update(access); } else { access = new UnitAccessory(); access.UnitID = id; access.LegalLicense = filename; accessManage.Add(access); } Label1.Text = filename; ButtonDelete1.Visible = true; ButtonDown1.Visible = true; FileUpload1.Enabled = false; ButtonUpload1.Enabled = false; //修改HiddenFieldfilename addFileName(filename); } catch (Exception ex) { Label1.Text = "出错:" + ex.Message.ToString(); } } }
相关文章推荐
- ASP.NET项目申报系统-4.20~4.27总结
- ASP.NET项目申报系统-4.28~5.2总结
- ASP.NET实现增删改查等功能(Access版)系统之二-gridview绑定数据及行绑定
- Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL
- Asp.Net Core 项目实战之权限管理系统(0) 无中生有
- 在ASP.NET MVC项目中使用RequireJS库的用法示例
- 小菜Asp.net第一个班级小组小项目 第一阶段需求的 新闻发布系统 小结
- ASP.NET GridView用法大全
- ASP.NET GridView用法总结
- Asp.Net Core 项目实战之权限管理系统(6) 功能管理
- asp.net Gridview 的用法
- 系统学习asp.net Ajax中GridView、UpdatePanel、UpdateProgress、Timer使用
- ASP.Net GridView简单用法不用写代码和手写代码
- Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端
- Asp.net 2.0 FileUpload 控件的用法
- Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限
- 在ASP.NET MVC项目中使用RequireJS库的用法示例
- Asp.Net Core 项目实战之权限管理系统(8) 功能菜单的动态加载
- Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现