ASP.NET中RadioButtonList綁定后臺數(shù)據(jù)后觸發(fā)點擊事件
來源:易賢網(wǎng) 閱讀:1576 次 日期:2016-08-09 14:41:11
溫馨提示:易賢網(wǎng)小編為您整理了“ASP.NET中RadioButtonList綁定后臺數(shù)據(jù)后觸發(fā)點擊事件”,方便廣大網(wǎng)友查閱!

本文實例為大家分享了RadioButtonList綁定后臺數(shù)據(jù),觸發(fā)點擊事件的方法

首先前臺頁面放置一個RadioButtonList 控件

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

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

    </asp:RadioButtonList>

.cs文件 后臺綁定數(shù)據(jù)

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綁定后臺數(shù)據(jù)

  private void DropDownListDataBind()

  {

   ExpertInfoBLL bll = new ExpertInfoBLL();

   DataTable dt = bll.GetDepInfo();

   foreach (DataRow dr in dt.Rows)

   {

    RadioButtonList1.Items.Add(dr["Name"].ToString());//循環(huán)讀出數(shù)據(jù)庫的數(shù)據(jù)

   }

   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)

  {

   //這里寫解碼和數(shù)據(jù)庫返回結(jié)果

   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);

   //綁定數(shù)據(jù) 

   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);

  }

//根據(jù)選擇單選按鈕的不同id,觸發(fā)事件

  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;

  }

 }

在頁面加載的時候調(diào)用DropDownListDataBind()方法

觸發(fā)RadioButtonList的點擊事件

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

  {

    string Id;

    Id = RadioButtonList1.SelectedValue;

    GetDataBind(Id);

  }

</strong>

既可以實現(xiàn)點擊某個單選按鈕,并觸發(fā)事件。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

更多信息請查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)