问题描述
在一个普通页面中用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">上传九宫图: </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">九宫格简介: </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"/> 删除</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是不是变了