自定义控件传值
我们知道,如果传一个不固定的值给自定义控件是比较困难的,以下方法希望能大家有所帮助。思路很简单,就是定义一个公共方法,然后在使用它的页面调用它。现在页面上有两个下拉框,drp1,drp2
前面很简单,现在看我们在页面中怎样子调用前面的这个自定义控件了。
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="WebForm2" %>
<%@ Register TagPrefix="uc1" TagName="UserControl11" Src="UserControl1.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm2</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<uc1:UserControl1 id="UserControl11" runat="server"></uc1:UserControl1>
</form>
</body>
</HTML>
//部分后台代码
public class WebForm2 : Page
protected UserControl1 UserControl11;
//这句是重点,默认我们在添加的时候是不会添加的,
//要自己手动来添加,而且变量名要跟前面页面中一样
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
UserControl11.OnInit(10,20);
}
//这样就可以给他传值了
//下面还可以获得自定义控件上的控件
DropDownList drp1=UserControl11.FindControl("drp1") as DropDownList;
1
//UserControl1.aspx
2
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="UserControl1.ascx.cs" Inherits="Test.UserControl1.ascx.cs" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
3
<asp:DropDownList id="drp1" AutoPostBack="True" runat="server"></asp:DropDownList>
4
<asp:DropDownList id="drp2" AutoPostBack="True" runat="server"></asp:DropDownList>
5
6
//UserControl1.ascx.cs
7
using System;
8
using System.Collections;
9
using System.Data;
10
using System.Web.UI;
11
using System.Web.UI.WebControls;
12
13
using namespace Test
14
public class UserContorl1:UserControl
15
{
16
protected DropDownList drp1;
17
protected DropDownList drp2;
18
19
public void OnInit(int num1,int num2)
20
{
21
BindDrp1(num1);
22
BindDrp2(num2);
23
}
24
//绑定drp1
25
private void BindDrp1(int num)
26
{
27
ArrayList al=new ArrayList();
28
ListItem lst;
29
for(int i=1;i<=num;i++)
30
{
31
lst=new ListItem("第"+i.ToString()+"轮",i.ToString());
32
al.Add(lst);
33
}
34
drp1.DataSource=al;
drp1.DataTextField="Text";
drp1.DataValueField="Value";
35
drp1.DataBind();
drp1.SelectedValue=num.ToString();
36
}
37
//绑定drp2
38
private void BindDrp2(int num)
39
{
40
ArrayList al=new ArrayList();
41
ListItem lst;
42
for(int i=1;i<=num;i++)
43
{
44
lst=new ListItem("第"+i.ToString()+"轮",i.ToString());
45
al.Add(lst);
46
}
47
drp2.DataSource=al;
drp2.DataTextField="Text";
drp2.DataValueField="Value";
48
drp2.DataBind();
drp2.SelectedValue=num.ToString();
49
}
50
}
51
}
52
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
drp1.DataTextField="Text";
drp1.DataValueField="Value";
35
![](/Images/OutliningIndicators/InBlock.gif)
drp1.SelectedValue=num.ToString();
36
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
drp2.DataTextField="Text";
drp2.DataValueField="Value";
48
![](/Images/OutliningIndicators/InBlock.gif)
drp2.SelectedValue=num.ToString();
49
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
51
![](/Images/OutliningIndicators/None.gif)
52
![](/Images/OutliningIndicators/None.gif)
前面很简单,现在看我们在页面中怎样子调用前面的这个自定义控件了。
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)