ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法_实用技巧

ASP.NET的FileUpload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能。
这就需要借用客户端的onchange事件,调用__doPostBack方法来用LinkButton的OnClick事件模拟一个事件触发的过程,具体代码如下:

客户端:

<asp:FileUpload ID="fuPhoto" onchange="javascript:__doPostBack('lbUploadPhoto','')" runat="server" ToolTip="选择图片" />
<asp:LinkButton ID="lbUploadPhoto" runat="server" OnClick="lbUploadPhoto_Click"></asp:LinkButton>

后台代码:

//自动上传事件
protected void lbUploadPhoto_Click(object sender, EventArgs e)
{
fileUpload();
}
//从控件上传文件
public void fileUpload()
{
if (fuPhoto.PostedFile != null && fuPhoto.PostedFile.ContentLength > 0)
{
string ext = System.IO.Path.GetExtension(fuPhoto.PostedFile.FileName).ToLower();
if (ext != ".jpg" && ext != ".jepg" && ext != ".bmp" && ext != ".gif")
{
return;
}
string filename = "Image_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ext;
string path = "./UploadPhoto/" + filename;
fuPhoto.PostedFile.SaveAs(Server.MapPath(path));
Response.Redirect("ImageCut.aspx?Picurl=" + Server.UrlEncode(path));
}
else
{
//do some thing;
}
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索asp.net
, fileupload
, 支持
浏览自动上传
,以便于您获取更多的相关知识。

时间: 2024-10-21 12:02:43

ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法_实用技巧的相关文章

ASP.NET在线文本编辑控件的使用(第6节)_实用技巧

首先了解在线文本编辑环境FCKeditor的使用方法,然后使用FCKeditor实现设计一个发表日志文章的页面. 学习内容 1.将FCKeditorV2.dll文件添加到工具箱.       右击工具箱中的任一控件组,在弹出的快捷菜单中选择"选择项",弹出"选择工具箱项"对话框,选择".NET Framework组件"选项卡,单击"浏览"按钮,在弹出的对话框中选择添加Bin文件夹下的FCKeditorV2.dll文件,添加控件

asp.net获得数据控件事件索引并获取其中值总结_实用技巧

复制代码 代码如下: 1.RowCommad //获得索引 int index = ((GridViewRow)(((Button)(e.CommandSource)).Parent.Parent)).RowIndex; 2.RowEditing等 //获得索引 int index = e.NewEditIndex; //获取当前GridViewRow对象 GridViewRow editGridViewRow = autoGridView.Rows[girdviewEditIndex]; //

aspxgridview CustomButtonCallback 不支持弹出消息提示解决方法_实用技巧

aspxgridveiw是devexpress的一个grid控件,使用起来还不错.但是今天遇到一个问题,就是不能再 CustomButtonCallback 事件中使用response.write,因为CustomButtonCallback 事件是无刷新的,所以不支持,但是即使使用ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "MyScript", myScript, true)也无济于事,在网上查了很久,

Asp.net的GridView控件实现单元格可编辑方便用户使用_实用技巧

最近做一个功能,考虑到用户使用方便,减少弹出页面,采用点"编辑"按钮无需弹出页面直接当前行的单元格内容就能编辑.进入页面显示如下图:  点"编辑"按钮后显示如下图:  编号为1的"星期"和"是否上班"均可编辑,编辑完成后,点"更新"保存. 第一张图中的数据加载是通过下述方法实现: protectedvoid GridView_RowDataBound(object sender, GridViewRowEv

asp.net 虚拟主机时常出现MAC验证失败错误之解决方法_实用技巧

出现错误: "/"应用程序中的服务器错误. -------------------------------------------------------------------------------- 验证视图状态 MAC 失败.如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法.不能在群集中使用 AutoGenerate. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息

asp.net中提示该行已属于另一个表的解决方法_实用技巧

复制代码 代码如下: DataTable dt = new DataTable();dt = ds.Tables["All"].Clone();//克隆All的结构传递给dtDataRow[] dr=this.dataSet31.Tables["Product"].Select("bc=1"); //通过条件得到符合条件的行for(int i=0;i<dr.Length;i++){//将数组元素加入表...dt.Rows.Add(dr[i]

关于服务器或虚拟主机不支持 AjaxPro 的问题终极解决方法_实用技巧

方法为:在网站属性中 -->> 主目录 -->>配置 -->> 添加一个 .ashx 文件的映射 就可以了 , 映射的文件路径在:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 扩展名: .ashx 动作:GET,HEAD,POST,DEBUG 检查文件是否存在的勾去掉 首先要在Web.config的<system.web>中添加下面的东东 <httpHandlers>

asp.net updatepanel 导致JS不能加载,而无法使用的解决方法_实用技巧

复制代码 代码如下: <script type="text/javascript" language="javascript">    var prm = Sys.WebForms.PageRequestManager.getInstance();    prm.add_endRequest(function () {        // re-bind your jquery events here          $(document).ready

Asp.net中的GridView导出遇到的两个问题和解决方法_实用技巧

对于GridView导出的内容的代码大致如下: Response.Clear(); Response.Buffer = true; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls"); Response.ContentEncoding = Sys