我在网站项目的Common类库里加了一个PageCreateRenderPage类,继承自Page类,里边重写了Render方法,能自动生成静态页面,然后在项目的aspx页面继承该类,代码什么的都没错,路径出问题了,怎么改都是未能映射路径 源代码如下
public class PageCreateRenderPage : System.Web.UI.Page { public string strFileName = "Default.html"; public PageCreateRenderPage() { } protected override void Render(HtmlTextWriter writer) { TextWriter sw = new StringWriter(); base.Render(new HtmlTextWriter(sw)); sw.Close(); string html = sw.ToString(); strFileName = Server.MapPath(".")+ "/" + strFileName; System.Text.Encoding code = System.Text.Encoding.UTF8; StreamWriter sw2 = null; try { sw = new StreamWriter(strFileName, false, code); sw.Write(html); sw.Flush(); } catch (Exception ex) { Response.Write(ex.Message); Response.End(); } finally { sw2.Close(); } Response.Redirect("Default.html"); } }
建议改为:
strFileName = Server.MapPath(Request.ApplicationPath + "/" + strFileName);
谢谢大虾啊,解决了 分给你
能不能解释下为甚么,我用了
Server.MapPath("./")
Server.MapPath("/")
Server.MapPath("~/")
都不行
@吃俺老孙一棒: 建议你自己研究一下,根据问题进行学习,学习效率更高。