ASP.NET中RadioButtonList绑定后台数据后触发点击事件

2025-05-29 0 102

本文实例为大家分享了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>

既可以实现点击某个单选按钮,并触发事件。

以上就是本文的全部内容,希望对大家的学习有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 ASP.NET中RadioButtonList绑定后台数据后触发点击事件 https://www.kuaiidc.com/100191.html

相关文章

发表评论
暂无评论