关于动态添加页面(iframe + mhtml)

前段时间做了一个项目。客户需要经常添加产品信息。优于客户需要添加的产品信息 非常不规则,根本无法建立DomainModel。没办法,只能考虑做一个框架,让用户往里面添资料。  有几种方法

1。  word 转化成html,再显示html. 

    问题 1.1 保存文件复杂: wrod保存为一个html和一个folder. folder里面是图片。

           1.2 显示图片麻烦:要特殊处理图片的src

           1.3 编码乱:有的是utf-8 ,有的是gb2312.......,

           1.4 服务器端必须安装office

    很不幸。我租的服务器没有安装正版office. 在 组件服务中无法设置 word共service user用。

2。Word转化成pdf, pdf 转化成图片,以图片的形式展示给用户。

   问题 2.1转化的代码复杂,有的还用到第三方空间。显示出来的图片还有别人公司的水印

          2.2 pdf转化成img时失真。 感觉很不舒服。

3。使用 iframe + mhtml:

    这是最简单的。客户只要在word里面编辑,编辑好了保存的时候选择保存为网页(.mht).再上船mht.  这部分工作量和难度=1,2客户编辑word的时间。

   界面显示非常简单。下面是样例代码 

             IOHelper ioh =new IOHelper ();
            string html = ioh .GetStr(@"H:\Share\IC\IC\Contents\MHtml\mhtmltest.mht");

            HtmlGenericControl frame1 = new HtmlGenericControl("mht");
            frame1.TagName = "iframe";
            frame1.Attributes["runat"] = "server";
            frame1.Attributes["width"] = "100%";
            frame1.Attributes["height"] = "100%";
            frame1.Attributes["src"] = "http://www.cnblogs.com/Contents/MHtml/mhtmltest.mht";

            PlaceHolder1.Controls.Add(frame1);

原文地址:https://www.cnblogs.com/mjgb/p/1875142.html