asp.net母版使用和文件上传的问题

问题描述

在一个普通页面中用uploadify插件写了一个文件上传的功能,而且是可行的,但是我将这部分代码嫁接到一个使用母版的页面里面的时候就不工作了。需要的script和css等文件已经在head的contentplaceholder里面引入了,而且从样式上显示应该是引入了,但是为什么点击上传按钮就是不执行呢?<%@PageTitle=""Language="C#"MasterPageFile="~/Master/ModelMaster.master"AutoEventWireup="true"CodeFile="MasterTest.aspx.cs"Inherits="Model_MasterTest"%><asp:ContentID="Content1"ContentPlaceHolderID="head"Runat="Server"><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><metaname="keywords"content=""/><metaname="description"content=""/><linkhref="/css/layout.css"rel="stylesheet"type="text/css"/><scripttype="text/javascript"src="/js/jquery-1.9.1.min.js"></script><scripttype="text/javascript"src="/js/uploadify/jquery.uploadify.js"></script><linkrel="stylesheet"type="text/css"href="/js/uploadify/uploadify.css"/><scripttype="text/javascript"src="/js/layer-v1.9.0/layer/layer.js"></script><linkhref="/js/layer-v1.9.0/layer/skin/layer.css"rel="stylesheet"type="text/css"/><scripttype="text/javascript"src="/js/custom.js"></script></asp:Content><asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server"><divclass="allbg"><!--头部--><!--首页--><divclass="pmemup_tab"><tablewidth="100%"border="0"cellspacing="0"cellpadding="0"><tr><tdalign="right"class="ctp">上传九宫图:&nbsp;</td><td><divclass="clearfix"><inputid="txtNinePicList"runat="server"readonly="readonly"type="text"class="inp1flmt11"onclick="returntxtNinePicList_onclick()"/><ahref="javascript:;"class="btn2mt11"id="NinePicList">选择文件</a></div><ulclass="nineclearfix"id="nineImgs"></ul></td></tr><tr><tdalign="right">九宫格简介:&nbsp;</td><td><textareaid="txtNineCellIntro"runat="server"></textarea></td></tr></table></div></div><!--尾部--><inputtype="hidden"id="txtUserId"runat="server"value=""/><scripttype="text/javascript">//上传附件varNineCellArr=[];$("#NinePicList").click(function(){alert("linkclicked");if($("#txtNinePicList").val()){NineCellArr=$("#txtNinePicList").val().split("|");nineFn.queueImg();}/*九宫格上传*/$('#NinePicList').uploadify({height:33,width:77,multi:true,buttonImg:"/images/pmem_btn2.jpg",formData:{"uid":$("#txtUserId").val(),"authkey":'<%=authkey%>'},fileTypeExts:"*.jpg;*.png;*.jpeg;*.gif;*.bmp;",'swf':'/js/uploadify/uploadify.swf','uploader':'http://upload.tgod.cn/service/upload.ashx','buttonText':'选择图片',onUploadStart:function(){if(NineCellArr.length>=9){$("#NinePicList").uploadify("cancel","*");alert("最多上传9张图片!");}},onUploadSuccess:function(file,data,response){varobj=eval("("+data+")");if(obj.Code==100){NineCellArr.push(obj.FileUrl);//图片限制9张if(NineCellArr.length>9){NineCellArr.splice(0,NineCellArr.length-9);}}else{alert(obj.Message);}},onQueueComplete:function(){nineFn.queueImg();}});varnineFn={queueImg:function(){//数据初始化$("#nineImgs").html('');//图片拼写if(NineCellArr.length>0){varhtml="";varlength=NineCellArr.length;for(vari=0;i<length;i++){if(!NineCellArr[i])continue;html+='<li><imgsrc="'+NineCellArr[i]+'"class="img"/><divclass="del"><ahref="javascript:void(0);"onclick="nineFn.removeImg('+i+')"><imgsrc="/images/pmem_close.png"/>&nbsp;删除</a></div></li>';}$("#nineImgs").html(html);}varimgUrlList="";for(varj=0;j<NineCellArr.length;j++){if(!NineCellArr[j])continue;imgUrlList+=NineCellArr[j]+"|";}$("#txtNinePicList").val(imgUrlList);},removeImg:function(pos){NineCellArr.splice(pos,1);nineFn.queueImg();}}functiontxtNinePicList_onclick(){}});</script></asp:Content><asp:ContentID="Content3"ContentPlaceHolderID="ScriptPlaceHolder"Runat="Server"></asp:Content>

解决方案

解决方案二:
尽量不要使用母版吧、反正一般我不这么做;
解决方案三:
使用母版页之后,带有runat="server"的控件解析成Html标签后,ID都会自动加上MainContent_原来的ID。所以原来使用ID来获取元素的就失效了
解决方案四:
你打开浏览器开发者工具,看script标签里的文件都下载成功么?
解决方案五:
你看看生成的代码,看看ID是不是变了

时间: 2024-08-25 08:19:51

asp.net母版使用和文件上传的问题的相关文章

ASP.NET 2.0 多文件上传小经验

asp.net|上传     想实现任意多个文件上传的功能,点击一次按钮可以添加一个文件上传框,以前在网络硬盘上看到过.JavaScript我知道怎么实现任意添加上传文件控件,问题是添加的是Html控件,我不懂怎么让服务器端可以获取文件.     于是上google搜索"ASP.NET 多文件上传",还真找到一篇文件,标题为<在ASP.NET中实现多文件上传>,文章里面是VB.NET实现的,功能和我要的一模一样,我主要是要看服务器端怎么获取客户端上传的文件,看了文中的代码,

ASP.NET中常用的文件上传下载方法

asp.net|上传|下载     文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括:1.如何解决文件上传大小的限制2.以文件形式保存到服务器3.转换成二进制字节流保存到数据库以及下载方法4.上传Internet上的资源 第一部分:    首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文件来自定义最大文件大小,如下:<

asp.net批量多选文件上传解决方案_实用技巧

多选文件上传,已经非常多了,选择性多了可能有时候要比较下哪个更合适,结合到项目中使用更方便才是最重要的.很多的多选上传基本上都是调用的swf文件,确实用flash 或flex开发一个多选上传的功能很方便,比如flex里内置的FileReferenceList对象本身就支持文件的多选,有这个的话就方便多了,下面要说的主要也是基于flex开发的一个多选上传功能.主要实现的功能如下: 一.选择多个文件上传并显示单个文件的上传进度 二.显示所有文件总的上传进度 三.显示所有上传文件的总大小 四.上传前可

asp.net 简便无刷新文件上传系统

asp.net 简便无刷新文件上传系统 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>简便无刷新文件上传系统</title> <s

asp.net中Fine Uploader文件上传组件使用介绍_实用技巧

最近在处理后台数据时需要实现文件上传.考虑到对浏览器适配上采用Fine Uploader. Fine Uploader 采用ajax方式实现对文件上传.同时在浏览器中直接支持文件拖拽[对浏览器版本有要求类似IE版本必须是9或是更高的IE10].在不同浏览器中提供统一用户体验.该组件基本覆盖目前所有主流浏览器.同时没有任何第三方组件依赖.相当Clear.在服务器端已经覆盖支持了ASP.NET/ColdFusion/Java/Node.js/Perl/PHP/Python. 对上传细节类似限制文件大

asp.net 简便无刷新文件上传系统_实用技巧

ps:flash实现的效果是好得多,但这不是我研究的范围,也没什么可比性. 兼容:ie6/7/8, firefox 3.5.5, opera 10.01, safari 4.0.3, chrome 3.0 效果预览 文件上传 选择文件 重命名 操作 状态 重置 选择文件 重置 选择文件 重置 选择文件 ps:由于需要后台,要测试系统请下载实例测试. ps2:在完整实例文件中,还有一个文件属性查看实例. 程序说明 [upload] 程序中最重要的方法就是upload了,调用它就可以进行无刷新上传.

asp.net中Silverlight实现文件上传与下载

文件下载通常采用附件的方式在http响应头里面设置Content-disposition值为"attachment;filename=" + filepath,以及为Content-Length设置下载文件总长度(单位字节)来实现. 本文是采用Silverlight实现文件下载,服务端用asp.net一般处理程序(.ashx)处理. 以下是项目结构图: MainPage类源码如下:  代码如下 复制代码 View Code  namespace SilverlightDownAndUp

在ASP.NET中实现多文件上传的方法_实用技巧

在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET,文件上传变得轻而易举.下面的这个例子实现了多文件上传功能.可以动态添加输入表单,上传的文件数量没有限制.代码如下: MultiUpload.aspx <%@ Page Language="vb" AutoEventWireup="false" Codebehind="MultiUpload.aspx.vb"  Inherits="aspxWeb.MultiUpload

asp.net 批量多选文件上传代码

多选文件上传,已经非常多了,选择性多了可能有时候要比较下哪个更合适,结合到项目中使用更方便才是最重要的.很多的多选上传基本上都是调用的swf文件,确实用flash 或flex开发一个多选上传的功能很方便,比如flex里内置的FileReferenceList对象本身就支持文件的多选,有这个的话就方便多了,下面要说的主要也是基于flex开发的一个多选上传功能. 主要实现的功能如下: 一.选择多个文件上传并显示单个文件的上传进度 二.显示所有文件总的上传进度 三.显示所有上传文件的总大小 四.上传前