• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NET页面:在此页面动态调用用户控件(.ASCX)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 1 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
 2 
 3 <%@ Register Src="ChapterCourseware.ascx" TagName="ChapterCourseware" TagPrefix="uc2" %>
 4 
 5 <head runat="server">
 6     <title>无标题页</title>
 7 </head>
 8 <body>
 9     <form id="form1" runat="server">
10     <div id="info_1">
11         <asp:PlaceHolder runat="server" ID="phCourseware"></asp:PlaceHolder>
12     </div>
13     </form>
14 </body>
15 </html>

ASP.NET 后台代码:

 1 using System;
 2 using System.Data;
 3 using System.Configuration;
 4 using System.Web;
 5 using System.Web.Security;
 6 using System.Web.UI;
 7 using System.Web.UI.WebControls;
 8 using System.Web.UI.WebControls.WebParts;
 9 using System.Web.UI.HtmlControls;
10 
11 public partial class _Default : System.Web.UI.Page 
12 {
13     protected void Page_Load(object sender, EventArgs e)
14     {
15         TabLoadControls();
16     }
17 
18 
19     #region 加载控件
20     private void TabLoadControls(int iChapterId, int iCourseID)
21     {
22         /*
23          *  第一种方法:这种方法能传值
24          *  这种写法需要在前台页面中拖拽控件ChapterCourseware.ascx,也就是在Default.aspx页面中加入这行代码:
25          * <%@ Register Src="ChapterCourseware.ascx" TagName="ChapterCourseware" TagPrefix="uc2" %>
26          */
27         //清楚容器控件中的控件
28         //phCourseware.Controls.Clear();
29 
30         ASP.teachercenter_controls_chaptercourseware_ascx ucCourseware = new ASP.teachercenter_controls_chaptercourseware_ascx();
31         //给用户控件传值
32         ucCourseware.ChapterId = iChapterId;
33         ucCourseware.CourseID = iCourseID;
34         //加载用户控件至容器控件中
35         phCourseware.Controls.Add(ucCourseware);
36 
37 
38 
39         /*  
40          *  第二种,不需要传值的写法
41          *  这种写法不需要在前台页面中拖拽控件ChapterCourseware.ascx,也就是在Default.aspx页面中不需要这行代码:
42          * <%@ Register Src="ChapterCourseware.ascx" TagName="ChapterCourseware" TagPrefix="uc2" %>
43          * 
44         */
45 
46         phCourseware.Controls.Add(TemplateControl.LoadControl("~/ChapterCourseware.ascx"));
47     }
48     #endregion
49 }

ChapterCourseware.ascx 控件的后台代码中写入属性以用于接收参数:

 1 #region 页面参数  课程ID:CourseID  章节ID:ChapterId
 2     /// <summary>
 3     /// 课程ID
 4     /// </summary>
 5     public int CourseID
 6     {
 7         get
 8         {
 9             return (int)ViewState["CourseID"];
10         }
11         set
12         {
13             ViewState["CourseID"] = value;
14         }
15     }
16 
17     /// <summary>
18     /// 章节ID
19     /// </summary>
20     public int ChapterId
21     {
22         get
23         {
24             if (ViewState["ChapterId"] != null)
25                 return Convert.ToInt32(ViewState["ChapterId"]);
26             else
27                 return -1;
28         }
29         set
30         {
31             ViewState["ChapterId"] = value;
32         }
33     }
34     #endregion

 

 




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap