RadioButtonList绑定后台数据,触发点击事件

RadioButtonList绑定后台数据,触发点击事件首先前台页面放置一个RadioButtonList控件            RepeatLayout=”Flow”AutoPostBack=”true”OnSelectedIndexChanged=”RadioButtonList1_SelectedIndexChanged”>        .cs文件后台绑定数据namesp

首先前台页面放置一个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);
        }

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37088.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注