我的.aspx页面(a.aspx)有一DataGrid
绑定完数据之后内容是   模板列  id     name
           1      zzs2002
           2      zzs2003其中的模板列是一个ImageButton
如何才能,在我点击 这个ImageButton时,将name的值传到第二个.aspx(b.aspx)
foreach(DataGridItem dgi in DG_SqlProcPage.Items)
{
  ImageButton img=(ImageButton)dgi.FindControl("ImgBtn");
  if(img!=null)
{}
else
{
 Response.Write("not find!");
}

}
想这样的语句是应该写在哪个事件里?如何才能知道我是点击的是哪一行的模板列呢?

解决方案 »

  1.   

    你可以写到ItemDataBound事件里,你可以用e.Item.ItemIndex确定点击了哪一行
      

  2.   

    <asp:datagrid id="dgdFunction" runat="server" BorderColor="#3185B1" ItemStyle-BackColor="#D6EBFF" HeaderStyle-BackColor="#52BEEF" AutoGenerateColumns="False" Width="100%" CellPadding="3" BorderStyle="None" DataKeyField="TypeId">
    <ItemStyle Height="25px" BackColor="#D6EBFF"></ItemStyle>
    <HeaderStyle HorizontalAlign="Center" Height="30px" BackColor="#52BEEF"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn HeaderText="功能类别">
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <%#((DataRowView)Container.DataItem)["TypeName"]%>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox ID="txtTypeName" CssClass="textarea" Runat="server" Text='<%#((DataRowView)Container.DataItem)["TypeName"]%>'/>
    <asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" ControlToValidate="txtTypeName" Display="Dynamic" ErrorMessage="功能类别不允许为空" />
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="操作">
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <asp:LinkButton CommandName="Edit" text="编辑" Runat="server" />
    <asp:LinkButton CommandName="Delete" text="删除" Runat="server" />
    </ItemTemplate>
    <EditItemTemplate>
    <asp:LinkButton CommandName="Cancel" text="取消" Runat="server" />
    <asp:LinkButton CommandName="Update" text="更新" Runat="server" />
    </EditItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>
      

  3.   

    然后在cs文件里判断commandname的name属性执行相应的操作。
    取值用TextBox txtType = (TextBox) e.Item.FindControl("txtTypeName");
      

  4.   

    创建模板用户控件 
    ms-help://MS.NETFrameworkSDKv1.1.CHS/cpguidenf/html/cpconcreatingtemplatedusercontrol.htmWeb 服务器控件模板
    ms-help://MS.NETFrameworkSDKv1.1.CHS/cpguidenf/html/cpconWebFormsControlsTemplates.htm开发模板化控件 
    ms-help://MS.NETFrameworkSDKv1.1.CHS/cpguidenf/html/cpconcustomizingcontrolswithtemplates.htm服务器控件中的客户端功能(客户端脚本生成)
    ms-help://MS.NETFrameworkSDKv1.1.CHS/cpguidenf/html/cpconclient-sidefunctionalityinservercontrol.htm