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

 protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
        {
             string Id;
             Id = RadioButtonList1.SelectedValue;
             GetDataBind(Id);
        }

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值