zoukankan      html  css  js  c++  java
  • ASP.NET 页面:在此页面动态调用用户控件(.ASCX)

     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



  • 相关阅读:
    爬取校园新闻首页的新闻的详情,使用正则表达式,函数抽离
    网络爬虫基础练习
    Mysql 使用 select into outfile
    Mysql 使用CMD 登陆
    使用Clean() 去掉由函数自动生成的字符串中的双引号
    Get Resultset from Oracle Stored procedure
    获取引用某个主键的所有外键的表
    Entity Framework 丢失数据链接的绑定,在已绑好的EDMX中提示“Choose Your Data Connection”
    添加MySql Metat Database 信息
    at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
  • 原文地址:https://www.cnblogs.com/ajunForNet/p/2501481.html
Copyright © 2011-2022 走看看