1.js获取页面HTML代码,并传递到一般处理程序,通过一般处理程序生成HTML静态文件
var CreateData = function (objHtml) {
// alert(objHtml);
var userid = $("#HidUserID").val();
$.ajax({
url: "ajax/DealHtml.ashx",
type: "post",
data: "os=" + objHtml + "&userid=" + userid,
success: function (res) {
var filename = "template/FormTemplate.aspx?formID=" + eval("(" + res + ")").formID;
// alert("模版生成成功!");
$("#checkForm").attr("style", "display:block").attr("href", filename).val("模版生成成功");
}
});
}
一般处理程序
context.Response.ContentType = "text/html";
StringBuilder sb = new StringBuilder();
sb.Append("<!DOCTYPE html>");
sb.Append("<head>");
sb.Append("<meta charset=\"utf-8\">");
sb.Append("<title>Bootstrap表单构造器</title>");
sb.Append("<link href=\"source/bootstrap-responsive.min[1].css\" rel=\"stylesheet\" type=\"text/css\" />");
sb.Append("<link href=\"source/bootstrap.min[1].css\" rel=\"stylesheet\" type=\"text/css\" />");
sb.Append("</head><body>");
string html = context.Request.Form["os"];
sb.Append(html);
sb.Append("</body>");
sb.Append("</html>");
string newName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";
CreateTemplate(sb.ToString(), newName);
/// 生成的HTML静态页路径
public string WriteHtmlFile(string TemplateStr, string OutPutPath, string newName)
{
Encoding encoding = Encoding.GetEncoding("utf-8");
StreamWriter sw = null;
//写文件
try
{
sw = new StreamWriter(HttpContext.Current.Server.MapPath(OutPutPath + newName), false, encoding);
sw.Write(TemplateStr);
sw.Flush();
sw.Close();
sw.Dispose();
}
catch (Exception e2)
{
}
return newName;
}