1:现在在datalist中绑定一个radiobuttonlist,如何给这个radiobuttonlist绑定数据源?
   如何获取这个radiobuttonlist的选定值?
   我这样写:
   radiobuttonlist dd = (radiobuttonlist)e.item.findcontrol("ddd");
   string cc=dd.selectvalue.tostring();
   但程序提示:未将对象引用到实例
2:如何当我在删除datalist中一行的时候给一个提示是否要删除
谢谢各位大虾了,我没有分了,要不多加点在线等!!!

解决方案 »

  1.   

    1--ItemDataBound里绑定数据源
    2--也是在ItemDataBound里写
    LinkButton lb=(LinkButton)e.item.findcontrol("..");
    if(lb!=null)
    {
      lb.Attributes["onclick"]="<script language=javascriopt>confirm(\"真的删除吗?\");</sript>"
    }
      

  2.   

    private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
    {
          Button btn=e.Item.FindControl("Button") as Button;
      btn.Attributes.Add("onclick","javascript:window.event.returnValue=window.confirm('Delete?');");
              //设置删除提示
              RadioButtonList rbl = e.Item.Findcontrol("RadioButtonList1") as RadioButtonList;
          rbl.DataSource=??;
      rbl.DataTextField=??;
      rbl.DataValueField=??;
      rbl.DataBind();
          //设置数据源
    }
    }
      

  3.   

    给你写了一个完整的示例,保存为test.aspx后运行即可看到效果:test.aspx
    ----------------------------------------------
    <%@Page debug=true%>
    <%@Import Namespace="System.Data"%>
    <script runat="server" Language="C#">
    void Page_Load(object src,EventArgs e){
    if(!Page.IsPostBack){
    BindData();
    }
    }void BindData(){
    DataTable table=(DataTable)Cache["testTable"];
    if(table==null){
    table=new DataTable();
    table.Columns.Add(new DataColumn("姓名",typeof(string)));
    table.Columns.Add(new DataColumn("性别",typeof(bool)));
    table.Columns.Add(new DataColumn("年龄",typeof(int)));
    DataRow row;
    Random rdm=new Random();
    int rint;
    for(int i=0;i<10;i++){
    rint=rdm.Next(20,30);
    row=table.NewRow();
    row["姓名"]="姓名_"+i.ToString();
    row["性别"]=(rint%3==0);
    row["年龄"]=rint;
    table.Rows.Add(row);
    }
    Cache["testTable"]=table;
    }
    grid1.DataSource=table;
    grid1.DataBind();
    }void EditGrid(object src,DataGridCommandEventArgs e){
    grid1.EditItemIndex=e.Item.ItemIndex;
    BindData();
    }void CancelEdit(object src,DataGridCommandEventArgs e){
    grid1.EditItemIndex=-1;
    BindData();
    }void UpdateGrid(object src,DataGridCommandEventArgs e){
    grid1.EditItemIndex=-1;
    BindData();
    }void BindItem(object src,DataGridItemEventArgs e){
    if(e.Item.ItemType==ListItemType.EditItem){
    DropDownList ddl=(DropDownList)e.Item.FindControl("ageddl");
    if(ddl!=null){
    ListItem litem;
    for(int i=20;i<=30;i++){
    litem=new ListItem(i.ToString());
    ddl.Items.Add(litem);
    if(i==(int)((DataRowView)e.Item.DataItem)["年龄"])
    litem.Selected=true;
    }
    }
    }
    }
    </script>
    <HTML>
    <HEAD>
    <TITLE> Webdiyer 制造:) (www.webdiyer.com) </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="Webdiyer">
    </HEAD><BODY>
    <form runat="server">
    <asp:DataGrid runat="server" id="grid1" width="50%" AutoGenerateColumns=false OnEditCommand="EditGrid" OnCancelCommand="CancelEdit" OnUpdateCommand="UpdateGrid" OnItemDataBound="BindItem">
    <Columns>
    <asp:EditCommandColumn EditText="编辑" CancelText="取消" UpdateText="更新" HeaderText="编辑"/>
    <asp:BoundColumn DataField="姓名" HeaderText="姓名"/>
    <asp:TemplateColumn HeaderText="性别">
    <ItemTemplate>
    <%#(bool)((DataRowView)Container.DataItem)["性别"]==true?"男":"女"%>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:CheckBox runat="server" id="sex" Checked=<%#(bool)((DataRowView)Container.DataItem)["性别"]==true%>/>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="年龄">
    <ItemTemplate>
    <%#DataBinder.Eval(Container.DataItem,"年龄")%>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:DropDownList runat="server" id="ageddl"/>
    </EditItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>
    <br>
    <asp:Label runat="server" id="lbl"/>
    </form>
    </BODY>
    </HTML>