动态改写用户控件
起因:最近看CMS,為了適應(yīng)極度變態(tài)的需求~~
直接貼圖:
?
源代碼:
代碼using?System;using?System.Collections.Generic;
using?System.Linq;
using?System.Web;
using?System.Web.UI;
using?System.Web.UI.WebControls;
using?System.IO;
using?BaiChang.HeaBlog.Entity;
using?BaiChang.HeaBlog.Framework;
namespace?BaiChang.HeaBlog.WebSite.PreReal
{
????public?partial?class?ShowHealDiary?:?BaiChang?.HeaBlog?.Framework?.HttpHandler.UserPage
????{
????????string?rootPath?=?"~/PreReal/Control/";
????????string?currPath?=?string.Empty;
????????protected?void?Page_Load(object?sender,?EventArgs?e)
????????{
????????????if?(!IsPostBack)
????????????{
????????????????BindFilesToDropDownList();
????????????}
????????????????currPath?=?ddlFileChoose.SelectedItem.Value;
????????????if(!IsPostBack?)
????????????{
????????????????ReadFiles();
????????????}
????????}
????????protected?void?ddlFileChoose_SelectedIndexChanged(object?sender,?EventArgs?e)
????????{
????????????currPath?=?ddlFileChoose.SelectedItem.Value;
????????????ReadFiles();
????????}
????????protected?void?btnSave_Click(object?sender,?EventArgs?e)
????????{
????????????File.WriteAllText(Server?.MapPath?(?currPath),?txtPage.Text,?System.Text.Encoding.Default);
????????????File.WriteAllText(Server.MapPath(currPath?+?".cs"),?txtCode.Text,?System.Text.Encoding.Default);
????????}
????????protected?void?btnPreview_Click(object?sender,?EventArgs?e)
????????{
????????????PreViewPart.Visible?=?true;
????????????PreViewPart.Controls.Add(LoadControl(currPath));
????????}
????????#region?Helper
????????void?BindFilesToDropDownList()
????????{
????????????
????????????string[]?files?=?Directory.GetFiles(Server.MapPath(rootPath),"*.ascx");
????????????files.ToList().ForEach(it?=>
????????????{
????????????????FileInfo?info?=?new?FileInfo(it);
????????????????ddlFileChoose.Items.Add(new?ListItem(info.Name,?rootPath+info.Name));
????????????});
????????}
????????void?ReadFiles()
????????{
????????????txtPage.Text?=?File.ReadAllText(Server.MapPath(currPath),?System.Text.Encoding.Default);
????????????txtCode.Text?=?File.ReadAllText(Server.MapPath(currPath?+?".cs"),?System.Text.Encoding.Default);
????????}
????????#endregion
????}
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/jinzhao/archive/2009/12/24/1631614.html
總結(jié)
- 上一篇: 100万法郎的答案
- 下一篇: 还贷的那些事I——还贷的基本概念