如何在动态复选框列表中绑定动态复选框列表中的数据选择asp.net c#中的索引更改? [英] how to bind data in dynamic checkboxlist on dynamic checkboxlist selected index change in asp.net c#?

查看:70
本文介绍了如何在动态复选框列表中绑定动态复选框列表中的数据选择asp.net c#中的索引更改?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在动态复选框列表中绑定动态复选框列表中的数据在asp.net c中选择索引更改#??

请帮帮我

解决方案

< blockquote>我在asp.net中使用asp.net = DetailsView1,DropDownList1,Entities DataBase



 <   asp:dropdownlist     id   =  DropDownList1    runat   =  server    datatextfield   = 名称    datavaluefield   =  UserName    xmlns:asp   = #unknown >  <   / asp:dropdownlist  >  <   br     /  >  




c#代码中的
for DropDownList1:

  if (!IsPostBack)
{
尝试
{
// DropDownList dropper = (DropDownList)DetailsView1.FindControl(DDL);
// if(dropper!= null)
{
使用(DBNezamEntities db = new DBNezamEntities())
{
var Query = 来自 ro db.Profiles.AsEnumerable()

选择 new
{
UserName = ro.User.UserName,
Name = getpro(ro.User .UserName)


};
var Query2 = 来自 val 查询
orderby val.Name 升序
选择 val;

DropDownList1.DataSource = Query2;
DropDownList1.DataBind();

}
}
}
catch (例外)
{

throw ;
}
}





用于数据库中的保存数据:

  protected   void  DetailsView1_ItemInserting( object  sender,DetailsViewInsertEventArgs e)
{

e.Values [ UserName] = DropDownList1.SelectedValue.ToString();
}


例如:

HTML code

< asp:checkboxlist id =CheckBoxList1runat =serverautopostback =trueonselectedindexchanged =CheckBoxList1_SelectedIndexChangedxmlns:asp =#unknown> 
< asp:listitem text =Test1value =1>< / asp:listitem>
< asp:listitem text =Test2value =2>< / asp:listitem>
< / asp:checkboxlist>
< asp:panel runat =serverid =pnlDynamicxmlns:asp =#unknown> < / ASP:面板>



和后端代码

 protected void Page_Load(object sender,EventArgs e)
{
if(ViewState [cb]!= null)bindDynamicCB(Convert.ToInt32(ViewState [cb]));
}
protected void CheckBoxList1_SelectedIndexChanged(object sender,EventArgs e)
{
if(CheckBoxList1.SelectedIndex> -1)
{
ViewState [ cb] = CheckBoxList1.SelectedValue;
bindDynamicCB(Convert.ToInt32(ViewState [cb]));
}
}
void bindDynamicCB(int value)
{
CheckBoxList cbDynamic = new CheckBoxList();
//您只需在参数条件下绑定数据库
//cbDynamic.Items.Add(new ListItem {Text =Text+ value + 1,Value =Val1});
//cbDynamic.Items.Add(new ListItem {Text =Text+ value + 2,Value =Val1});
//cbDynamic.Items.Add(new ListItem {Text =Text+ value + 3,Value =Val2});
cbDynamic.Datasource = PutYOurValueMehod(value);
cbDynamic.DataBinde();
//在这里创建一个动态事件
cbDynamic.SelectedIndexChanged + = cbDynamic_SelectedIndexChanged;
cbDynamic.AutoPostBack = true;

//将动态控件添加到面板
pnlDynamic.Controls.Add(cbDynamic);
}
void cbDynamic_SelectedIndexChanged(object sender,EventArgs e)
{
CheckBoxList cb =(CheckBoxList)sender;
Response.Write(cb.Text);
}


how to bind data in dynamic checkboxlist on dynamic checkboxlist selected index change in asp.net c#??
please help me out

解决方案

i used asp.net = DetailsView1,DropDownList1,Entities DataBase

in asp.net

<asp:dropdownlist id="DropDownList1" runat="server" datatextfield="Name" datavaluefield="UserName" xmlns:asp="#unknown"></asp:dropdownlist><br />



in c# code for DropDownList1:

if (!IsPostBack)
       {
           try
           {
               //DropDownList dropper = (DropDownList)DetailsView1.FindControl("DDL");
               //if (dropper != null)
               {
                   using (DBNezamEntities db = new DBNezamEntities())
                   {
                       var Query = from ro in db.Profiles.AsEnumerable()

                                   select new
                                   {
                                       UserName = ro.User.UserName,
                                       Name = getpro(ro.User.UserName)


                                   };
                       var Query2 = from val in Query
                                    orderby val.Name ascending
                                    select val;

                       DropDownList1.DataSource = Query2;
                       DropDownList1.DataBind();

                   }
               }
           }
           catch (Exception)
           {

               throw;
           }
       }



for save data in database:

protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
  {

      e.Values["UserName"] = DropDownList1.SelectedValue.ToString();
  }


For Example:
HTML code

<asp:checkboxlist id="CheckBoxList1" runat="server" autopostback="true" onselectedindexchanged="CheckBoxList1_SelectedIndexChanged" xmlns:asp="#unknown">
           <asp:listitem text="Test1" value="1"></asp:listitem>
            <asp:listitem text="Test2" value="2"></asp:listitem>
       </asp:checkboxlist>
       <asp:panel runat="server" id="pnlDynamic" xmlns:asp="#unknown"> </asp:panel>


And Backend CODE

 protected void Page_Load(object sender, EventArgs e)
    {
        if (ViewState["cb"] != null) bindDynamicCB(Convert.ToInt32(ViewState["cb"]));
    }
    protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (CheckBoxList1.SelectedIndex > -1)
        {
            ViewState["cb"] = CheckBoxList1.SelectedValue;
            bindDynamicCB(Convert.ToInt32(ViewState["cb"]));
        }
    }
    void bindDynamicCB(int value)
    { 
        CheckBoxList cbDynamic = new CheckBoxList(); 
        //You just bind with database given your parameter condition
        //cbDynamic.Items.Add(new ListItem { Text = "Text" + value + 1, Value = "Val1" });
        //cbDynamic.Items.Add(new ListItem { Text = "Text" + value + 2, Value = "Val1" });
        //cbDynamic.Items.Add(new ListItem { Text = "Text" + value + 3, Value = "Val2" });
        cbDynamic.Datasource=PutYOurValueMehod(value);
cbDynamic.DataBinde();
//Create a dynamic event here
        cbDynamic.SelectedIndexChanged += cbDynamic_SelectedIndexChanged;
        cbDynamic.AutoPostBack = true;

        //Add your dynamic control to panel
        pnlDynamic.Controls.Add(cbDynamic);
    }
 void cbDynamic_SelectedIndexChanged(object sender, EventArgs e)
    {
        CheckBoxList cb=(CheckBoxList)sender;
        Response.Write(cb.Text);
    }


这篇关于如何在动态复选框列表中绑定动态复选框列表中的数据选择asp.net c#中的索引更改?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆