程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net動態加載用戶控件,關於後台添加、修改的思考

asp.net動態加載用戶控件,關於後台添加、修改的思考

編輯:ASP.NET基礎
看下下面這個典型的後台(比較粗糙):

說實在,我很厭倦全部用.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的類,在裡面寫上動態加載用戶控件的代碼。需要配合一個配置文件去做,這樣左邊的菜單和動態加載的控件可以統一在配置文件中處理。想法是很清晰的,但寫得有點亂,希望有這方面思考的朋友和我交流下,最近和幾個朋友聊了,但都沒有這樣的想法。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved