ASP.NET中RadioButtonList绑定后台数据后触发点击事件
来源: 阅读:1625 次 日期:2016-08-09 14:41:11
温馨提示: 小编为您整理了“ASP.NET中RadioButtonList绑定后台数据后触发点击事件”,方便广大网友查阅!

本文实例为大家分享了RadioButtonList绑定后台数据,触发点击事件的方法

首先前台页面放置一个RadioButtonList 控件

<asp:RadioButtonList runat="server" ID="RadioButtonList1" BorderStyle="None" RepeatColumns="3" CssClass=""

      RepeatLayout="Flow" AutoPostBack="true" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged">

    </asp:RadioButtonList>

.cs文件 后台绑定数据

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 层的方法

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层的方法

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 层的方法

public DataTable GetDepInfo()

 {

  DataTable dTable = dal.GetDepInfo();

  return dTable;

 }

ExpertInfoDAL层的方法

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的点击事件

<strong> protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)

  {

    string Id;

    Id = RadioButtonList1.SelectedValue;

    GetDataBind(Id);

  }

</strong>

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

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

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map