本文实例为大家分享了RadioButtonList绑定后台数据,触发点击事件的方法
首先前台页面放置一个RadioButtonList 控件
1
2
3
|
<asp:RadioButtonList runat= "server" ID= "RadioButtonList1" BorderStyle= "None" RepeatColumns= "3" CssClass= ""
RepeatLayout= "Flow" AutoPostBack= "true" OnSelectedIndexChanged= "RadioButtonList1_SelectedIndexChanged" >
</asp:RadioButtonList>
|
.cs文件 后台绑定数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
namespace BTApp
{
public partial class Technology : System.Web.UI.Page
{
string Id;
protected void Page_Load( object sender, EventArgs e)
{
if (!IsPostBack)
{
AspNetPager1.PageSize = 10;
if (Request.QueryString[ "Id" ] != null )
{
Id = Request.QueryString[ "Id" ];
}
else
{ Id = "" ; }
GetDataBind(Id);
DropDownListDataBind();
}
}
//RadioButtonList绑定后台数据
private void DropDownListDataBind()
{
ExpertInfoBLL bll = new ExpertInfoBLL();
DataTable dt = bll.GetDepInfo();
foreach (DataRow dr in dt.Rows)
{
RadioButtonList1.Items.Add(dr[ "Name" ].ToString()); //循环读出数据库的数据
}
this .RadioButtonList1.DataSource = dt;
this .RadioButtonList1.DataTextField = "Name" ;
this .RadioButtonList1.DataValueField = "Id" ;
this .RadioButtonList1.RepeatDirection = RepeatDirection.Horizontal;
this .RadioButtonList1.DataBind();
}
private void GetDataBind( string Id)
{
//这里写解码和数据库返回结果
TechnologyBLL bll = new TechnologyBLL();
string strWhere = " 1=1 " ;
if (Id != "" && Id != null )
{
strWhere += string .Format( " and a.Depinfo_Id = '{0}'" , Id);
}
AspNetPager1.RecordCount = bll.GetCountList(strWhere);
//绑定数据
DataTable dt = bll.GetList((AspNetPager1.CurrentPageIndex - 1) * AspNetPager1.PageSize, AspNetPager1.PageSize, strWhere, "CreateTime" );
this .Repeater1.DataSource = dt;
this .Repeater1.DataBind();
}
protected void AspNetPager1_PageChanged( object sender, EventArgs e)
{
GetDataBind(Id);
}
//根据选择单选按钮的不同id,触发事件
protected void RadioButtonList1_SelectedIndexChanged( object sender, EventArgs e)
{
string Id;
Id = RadioButtonList1.SelectedValue;
GetDataBind(Id);
}
}
}
|
TechnologyBLL 层的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
namespace BTAppBLL
{
public class TechnologyBLL
{
TechnologyDAL dal = new TechnologyDAL();
public DataTable GetList( int startPage, int pageSize, string where, string orderby)
{
DataTable dTable = dal.GetList(startPage, pageSize, where, orderby);
return dTable;
}
public int GetCountList( string where)
{
int record = dal.GetCountList(where);
return record;
}
public DataTable GetListShow( string TechnologyId)
{
DataTable dTable = dal.GetModel(TechnologyId);
return dTable;
}
public DataTable GetPicture( string TechnologyId)
{
DataTable dTable = dal.GetPicture(TechnologyId);
return dTable;
}
}
}
|
TechnologyDAL层的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
namespace BTAppDAL
{
public class TechnologyDAL
{
public DataTable GetList( int startPage, int pageSize, string where, string orderby)
{
string strSql = string .Format( "SELECT a.TechnologyId,a.TechnologyName,a.Summarize,a.Effect,a.MainPoint,a.AppropriateArea,a.Attention,a.CreateTime,a.CreatUser,a.UpdateTime,b.Name FROM Technology AS a \n" +
"left join Sys_DepInfo AS b ON a.Depinfo_Id=b.Id \n" +
"where a.IsActive='1' and {0} " , where);
string proc = "proc_CommonPagerWithStatement" ;
SqlConnection con = SqlDbHelper.Connection;
SqlParameter[] sp = { new SqlParameter( "@intStartIndex" , startPage),
new SqlParameter( "@intPageSize" , pageSize),
new SqlParameter( "@varStatement" , strSql),
new SqlParameter( "@varSortExpression" , orderby+ " DESC" ) };
DataTable dt = SqlDbHelper.GetDataSet(proc, sp, con);
return dt;
}
public int GetCountList( string where)
{
int countRecord = 0;
string strSql = string .Format( "select COUNT(TechnologyId) as countRecord from(SELECT a.TechnologyId,a.TechnologyName,a.Summarize,a.Effect,a.MainPoint,a.AppropriateArea,a.Attention,a.CreateTime,a.CreatUser,a.UpdateTime,b.Name FROM Technology AS a \n" +
"left join Sys_DepInfo AS b ON a.Depinfo_Id=b.Id \n" +
"where a.IsActive='1' and {0} ) as c" , where);
SqlConnection con = SqlDbHelper.Connection;
try
{
if (con.State == System.Data.ConnectionState.Closed)
con.Open();
DataTable dt = SqlDbHelper.GetDataTable(strSql);
if (dt.Rows.Count > 0)
countRecord = int .Parse(dt.Rows[0][ "countRecord" ].ToString());
}
catch (Exception)
{
throw ;
}
finally
{
if (con.State == ConnectionState.Open)
{
con.Close();
}
}
return countRecord;
}
public DataTable GetModel( string TechnologyId)
{
string strSql = string .Format( "SELECT a.TechnologyId,a.TechnologyName,a.Summarize,a.Effect,a.MainPoint,a.AppropriateArea,a.Attention,a.CreateTime,a.CreatUser,a.UpdateTime,b.Name FROM Technology AS a \n" +
"left join Sys_DepInfo AS b ON a.Depinfo_Id=b.Id \n" +
"where a.IsActive='1' and a.TechnologyId = '{0}' " , TechnologyId);
DataTable dataTable = SqlDbHelper.GetDataTable(strSql);
return dataTable;
}
public DataTable GetPicture( string TechnologyId)
{
string strSql = string .Format( "SELECT TOP 5 a.Files_Id,a.Files_Name,a.Files_Path FROM dbo.Com_Files AS a \n" +
"LEFT JOIN dbo.Technology AS b ON a.ForeignKey_Id=b.TechnologyId \n" +
"WHERE b.IsActive=1 and a.ForeignKey_Id = '{0}' " , TechnologyId);
DataTable dataTable = SqlDbHelper.GetDataTable(strSql);
return dataTable;
}
}
}
|
ExpertInfoBLL 层的方法
1
2
3
4
5
|
public DataTable GetDepInfo()
{
DataTable dTable = dal.GetDepInfo();
return dTable;
}
|
ExpertInfoDAL层的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public DataTable GetDepInfo()
{
try
{
StringBuilder str = new StringBuilder( @"SELECT Id,Name FROM dbo.Sys_DepInfo WHERE Is_Active='1' AND DepinfoType='1'" );
DataTable data = SqlDbHelper.GetDataTable(str.ToString());
if (data.Rows.Count > 0)
{
return data;
}
else
{
return null ;
}
}
catch (Exception)
{
return null ;
}
}
|
在页面加载的时候调用DropDownListDataBind()方法
触发RadioButtonList的点击事件
1
2
3
4
5
6
7
|
<strong> protected void RadioButtonList1_SelectedIndexChanged( object sender, EventArgs e)
{
string Id;
Id = RadioButtonList1.SelectedValue;
GetDataBind(Id);
}
</strong>
|
既可以实现点击某个单选按钮,并触发事件。
以上就是本文的全部内容,希望对大家的学习有所帮助。