问题描述
protectedoverridevoidRenderContents(HtmlTextWriteroutput){//Page.Form.Attributes.Add("onsubmint","returnchk()");Bitmapb=Resource1.FillLeftHS;b.Save(Page.Server.MapPath("\")+"\images\left.jpg");Bitmapc=Resource1.FillRightHS;c.Save(Page.Server.MapPath("\")+"\images\right.jpg");output.Write("<scriptlanguage='javascript'type='text/javascript'>");output.Write(Resource1.showpages.ToString());output.Write("</script>");//output.Write("<scriptlanguage=javascripttype='text/javascript'src='"+Page.Server.MapPath("\")+"showpages.js"+"'></script>");StreamWritersw=newStreamWriter(Page.Server.MapPath("\")+"\showpages.js");sw.Write(Resource1.showpages);StringBuildersb=newStringBuilder();sb.Append("<divclass='showpages'style='margin-top:5px;'>");sb.Append("<scriptlanguage='javascript'type='text/javascript'>");sb.Append("varpg=newshowPages('pg');");sb.Append("pg.argName='page';");sb.Append("pg.pageCount="+_PageCount+";");sb.Append("pg.printHtml("+_UIMode+");");sb.Append("</script>");sb.Append("</div>");output.Write(sb.ToString());//this._UIMode="6";//this.PageCount="9";}我要输出资源里面的图片和样式表,但是问题是,加上输出代码后,服务器控件的呈现方式出错,但是拖入应用程序后也可以用,请问有什么方法解决吗
解决方案
解决方案二:
d
解决方案三:
看不出来问题在那里,这个可能还是需要慢慢调试才能够知道问题所在
解决方案四:
代码没有任何问题,我也调试过的,所有功能也都能实现,就是添加了该控件后拖动到.aspx文件上就会报控件的呈现异常,Bitmapb=Resource1.FillLeftHS;b.Save(Page.Server.MapPath("\")+"\images\left.jpg");Bitmapc=Resource1.FillRightHS;c.Save(Page.Server.MapPath("\")+"\images\right.jpg");StreamWritersw=newStreamWriter(Page.Server.MapPath("\")+"\showpages.js");sw.Write(Resource1.showpages)由于我将图片文件和样式表文件作为了资源文件,现在想在控件被调用的时候就部署到输出页面上,或者有什么其他方法能将用到的图片和样式表文件作为dll的内部文件,请教
解决方案五:
d
解决方案六:
Page.Server.MapPath在设计模式下是取不到的.你可以这样:if(this.DesignMode==false){Page.Server.MapPath(...);//只在运行时执行}或者给整个段落加上:if(this.DesignMode==false){}属性.
解决方案七:
Page.Server.MapPath在设计模式下是取不到的.你可以这样:if(this.DesignMode==false){Page.Server.MapPath(...);//只在运行时执行}或者给整个段落加上:if(this.DesignMode==false){}属性.
解决方案八:
怎么直接用资源里面的文件呢,我感觉输出不是很好,每次访问就输出一次,要是有n个页面用到这个控件不就太麻烦了
解决方案九:
protectedoverridevoidRenderContents(HtmlTextWriteroutput){if(this.DesignMode==false){StreamWritersw=newStreamWriter(Page.Server.MapPath(".")+@"showpages.css");sw.Write(Resource1.showpages);}//以上解决了不在设计区域执行改代码StringBuilders_b=newStringBuilder();s_b.Append("<inputtype='button'name='aaa'value='test'>");output.Write(s_b.ToString());}但是有了新问题,上面的代码在页面加载的时候执行输出一个样式表,要是有n多人访问的时候,出现数据并发,那么是否同时多个页面要在该目录写这个css文件,我就想,怎么能让上面代码只执行一回呢,如果普通方法,还可以用io来判断文件是否存在,总是认为太耗资源,因为我要封状的是分页控件,用页面太多了,那也太多的并发了
解决方案十:
d