asp.net動態(tài)加載用戶控件,關于后臺添加、修改的思考
更新時間:2009年04月20日 18:03:03 作者:
一直以來,我都在思考,一些繁瑣的操作,比如我們一般的管理后臺,很多都是數(shù)據(jù)的添加、修改與刪除,列表的操作,而且一般我們都是用.aspx文件去做的。
看下下面這個典型的后臺(比較粗糙):

說實在,我很厭倦全部用.aspx文件去做,比如“友情連接”這個模塊,就有“添加友情連接”“修改友情連接”“友情連接列表”,簡單的話,可以把“添加”“修改”合成一個文件。每次都去建立一個.aspx文件。我現(xiàn)在的想法是用“用戶控件+配置文件”去實現(xiàn),雖然文件數(shù)目可能不會少很多。但在編程到一定地步,我想大家會有跟我一樣的想法。
首先需要涉及的是動態(tài)添加“用戶控件”,這個可以根據(jù)傳參來動態(tài)加載,代碼如下:
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.dhdzp.com/article/17829.htm這篇文章實現(xiàn)一個繼承自Page的類,在里面寫上動態(tài)加載用戶控件的代碼。需要配合一個配置文件去做,這樣左邊的菜單和動態(tài)加載的控件可以統(tǒng)一在配置文件中處理。想法是很清晰的,但寫得有點亂,希望有這方面思考的朋友和我交流下,最近和幾個朋友聊了,但都沒有這樣的想法。

說實在,我很厭倦全部用.aspx文件去做,比如“友情連接”這個模塊,就有“添加友情連接”“修改友情連接”“友情連接列表”,簡單的話,可以把“添加”“修改”合成一個文件。每次都去建立一個.aspx文件。我現(xiàn)在的想法是用“用戶控件+配置文件”去實現(xiàn),雖然文件數(shù)目可能不會少很多。但在編程到一定地步,我想大家會有跟我一樣的想法。
首先需要涉及的是動態(tài)添加“用戶控件”,這個可以根據(jù)傳參來動態(tài)加載,代碼如下:
復制代碼 代碼如下:
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.dhdzp.com/article/17829.htm這篇文章實現(xiàn)一個繼承自Page的類,在里面寫上動態(tài)加載用戶控件的代碼。需要配合一個配置文件去做,這樣左邊的菜單和動態(tài)加載的控件可以統(tǒng)一在配置文件中處理。想法是很清晰的,但寫得有點亂,希望有這方面思考的朋友和我交流下,最近和幾個朋友聊了,但都沒有這樣的想法。
相關文章
asp.net updatepanel 導致JS不能加載,而無法使用的解決方法
asp.net updatepanel 局部刷新,導致JS不能加載,而無法使用,而且 updatepanel會刷兩次,郁悶的,解決方法如下2013-08-08
.NET CORE中使用AutoMapper進行對象映射的方法
這篇文章主要給大家介紹了關于.NET CORE中使用AutoMapper進行對象映射的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用.NET CORE具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-04-04
詳解免費開源的DotNet二維碼操作組件ThoughtWorks.QRCode(.NET組件介紹之四)
本篇文章主要介紹了免費開源的DotNet二維碼操作組件ThoughtWorks.QRCode,非常具有實用價值,有興趣的同學可以來了解一下。2016-12-12
ASP.NET連接sql2008數(shù)據(jù)庫的實現(xiàn)代碼
這篇文章主要介紹了ASP.NET連接sql2008數(shù)據(jù)庫的實現(xiàn)代碼,需要的朋友可以參考下2015-01-01
Visual Studio 2017如何用正則修改部分內容詳解
這篇文章主要給大家介紹了關于Visual Studio 2017如何用正則修改部分內容的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-05-05
適用與firefox ASP.NET無刷新二級聯(lián)動下拉列表
適用與firefox ASP.NET無刷新二級聯(lián)動下拉列表...2007-08-08

