<asp:Repeater ID="m_Repeater" runat="server" OnItemCommand="m_Repeater_ItemCommand">
        <HeaderTemplate>
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td align="center">
                    <input id="m_ip" type="checkbox" value='<%# Eval("ID")%>' /><%# Eval("Name")%>
                </td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
        </FooterTemplate>
</asp:Repeater>
即是在一个Repeater里面有多个选择项,而各个选择项的value值不一样,那么在cs文件中我要怎么取得这个value值,并当选取的时候自动获得后面绑定的Name值??(ID和Name是在同一表中的两个字段)

解决方案 »

  1.   

    Request[input 的 name 属性 ]
      

  2.   

    <input id="m_ip" type="checkbox" value= ' <%# Eval("ID")% > ' name="m_cbname" / > <%# Eval("Name")% > 我要取的是input里面的value的值啊 
    Request["m_cbname"]这样取得的是什么呢??怎样转到value上面去??
      

  3.   

    document.getelementByID("m_ip").values();
    看看
      

  4.   

    其实最好把input改为服务器端控件
    然后再repeat的 事件通过findcontrol获得
      

  5.   

    我也想改啊  但是我的功能是要实现在一个repeat事件的每一行都有一个绑定的checkbox选择项,这个选择项内容是从另一张表中取出来的数据啊
      

  6.   

    Request.Form["xxxx"]
    Request["m_cbname"]这样取得的是什么呢??怎样转到value上面去??取得的是一组控件中的提交信息,至于你说的怎么转到value上面去,我不是很明白你的本意
    既然你已经  <%# Eval("ID")%  >  了,还要转什么?
      

  7.   

    其实最好把input改为服务器端控件 
    然后再repeat的 事件通过findcontrol获得
    (r.findcontrol("text1") as TextBox).text
      

  8.   

    我也想改啊  但是我的功能是要实现在一个repeat事件的每一行都有一个绑定的checkbox选择项,这个选择项内容是从另一张表中取出来的数据啊 
     
       
    这样也可以用服务器端的呀?链接一下表就可以了不是么
      

  9.   

    <input name= 'chenyong' type="checkbox" value='2'/>2
    <input name= 'chenyong' type="checkbox" value='11'/>11
    <input name= 'chenyong' type="checkbox" value='13'/>13
    <input name= 'chenyong' type="checkbox" value='18'/>18
    <input name= 'chenyong' type="checkbox" value='50'/>50这样的话 怎么取得后面的Value的值呢??
    Request["chengyong"].????
      

  10.   


    首先需要把你的
    <input id="m_ip" type="checkbox" value= ' <%# Eval("ID")% > ' / > <%# Eval("Name")% > 
    改成
    <Asp:CheckBox id="m_ip" value= ' <%# Eval("ID")% > ' />
    <Asp:Label id="m_desc"><%# Eval("Name")% ></Asp:Label>
    然后使用以下代码获取值foreach(Control c in m_Repeater.Items){
      CheckBox cb = (CheckBox)c.FindControl("m_ip");
      if(true == cb.Checked){
        Label l = (Label)c.FindControl("m_desc");
        string name = l.Text;
        string id = cb.Attributes["value"].toString();
      }
    }
      

  11.   

    转换化服务器控件:添加runat="server",然后在后台获得!当然,如果用JS的话就很简单了!
    document.getElementById("m_ip").value就行了!
      

  12.   

    前台代码:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default20.aspx.cs" Inherits="Default20" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:Repeater ID="m_Repeater" runat="server"> 
             <HeaderTemplate > 
             </HeaderTemplate > 
             <ItemTemplate > 
                 <tr > 
                     <td align="center" > 
                        <asp:CheckBox id="m_ip" value='<%# Eval("ID")%>' runat="server"/> 
                        <asp:Label id="m_desc" runat="server" Text='<%# Eval("UserName")%>'></asp:Label>
                     </td > 
                 </tr > 
             </ItemTemplate > 
             <FooterTemplate > 
             </FooterTemplate > 
    </asp:Repeater > 
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
        </form>
    </body>
    </html>.cs文件代码:using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class Default20 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                m_Repeater.DataSource = AWBDataImport.Common.SqlClass.getDataTable("select top 10 * from [user]");
                m_Repeater.DataBind();
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            string name = string.Empty;
            string id = string.Empty;
            foreach (Control c in m_Repeater.Items)
            {
                CheckBox cb = (CheckBox)c.FindControl("m_ip");
                if (true == cb.Checked)
                {
                    Label l = (Label)c.FindControl("m_desc");
                    name += l.Text;
                   id += cb.Attributes["value"].ToString();             }
            }
            Response.Write(id);
        }
    }