看下下面這個典型的後台(比較粗糙):
說實在,我很厭倦全部用.aspx檔案去做,比如“友情串連”這個模組,就有“添加友情串連”“修改友情串連”“友情串連列表”,簡單的話,可以把“添加”“修改”合成一個檔案。每次都去建立一個.aspx檔案。我現在的想法是用“使用者控制項+設定檔”去實現,雖然檔案數目可能不會少很多。但在編程到一定地步,我想大家會有跟我一樣的想法。
首先需要涉及的是動態添加“使用者控制項”,這個可以根據傳參來動態載入,代碼如下: 複製代碼 代碼如下:protected Control control;
protected void Page_Load(object sender, EventArgs e)
{
//by ahuinan 2009-4-18
int id = Convert.ToInt32(Request.QueryString["id"]);
switch (id)
{
case 0://不要載入使用者控制項
Response.Write("您沒有載入任何控制項");
break;
case 1://載入使用者控制項
control = Page.LoadControl("~/login.ascx");
control.ID = "uc1";//這裡命名是為了可以取得裡面控制項的值
placeholder1.Controls.Add(control);
break;
default:
break;
}
}
而只需要用到一個.aspx檔案,且這個檔案中有個使用者控制項,代碼如下: 複製代碼 代碼如下:<asp:placeholder runat="server" ID="placeholder1"></asp:placeholder>
如果這個“使用者控制項”中有一個ID為“tbxUserName”的TextBox,那麼在.aspx檔案中,要取得這個的值,代碼如下: 複製代碼 代碼如下:((TextBox)placeholder1.FindControl("uc1").FindControl("tbxUserName")).Text
這裡是簡單的說下我的思路,要配合前面我說過的http://www.jb51.net/article/17829.htm這篇文章實現一個繼承自Page的類,在裡面寫上動態載入使用者控制項的代碼。需要配合一個設定檔去做,這樣左邊的菜單和動態載入的控制項可以統一在設定檔中處理。想法是很清晰的,但寫得有點亂,希望有這方面思考的朋友和我交流下,最近和幾個朋友聊了,但都沒有這樣的想法。