网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 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>
    既可以实现点击某个单选按钮,并触发事件。
    以上就是本文的全部内容,希望对大家的学习有所帮助。
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/19 1:41:33