首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问ItemTemplate中存在的ServerControl?

如何访问ItemTemplate中存在的ServerControl?
EN

Stack Overflow用户
提问于 2011-02-10 19:15:55
回答 2查看 391关注 0票数 3

我有以下ListView

代码语言:javascript
复制
<asp:ListView ID="procedureTicketList" runat="server" ...
     <ItemTemplate> 
          <asp:GridView ID="MyGridView" runa...

如何以编程方式访问MyGridView

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-10 19:39:10

尝试下面的代码片段。

代码语言:javascript
复制
protected void procedureTicketList_DataBound(object sender, EventArgs e)
      {
          GridView gv= ((GridView)e.Item.FindControl("MyGridView"));
         .
         .
         .

       }

编辑:

检查以下代码片段。

代码语言:javascript
复制
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!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></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListView runat="server" ID="_simpleTableListView" OnItemDataBound="_simpleTableListView_ItemDataBound">
            <LayoutTemplate>
                <table>
                    <thead>
                        <tr>
                            <th>
                                ID
                            </th>
                            <th>
                                Title
                            </th>
                        </tr>
                    </thead>
                    <tbody>
                        <asp:PlaceHolder runat="server" ID="itemPlaceholder" />
                    </tbody>
                </table>
            </LayoutTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <%# Eval("ID") %>
                    </td>
                    <td>
                        <%# Eval("title") %>
                    </td>
                    <td>
                        <asp:GridView ID="MyGridView" runat="server">
                        </asp:GridView>
                    </td>
                </tr>
            </ItemTemplate>
        </asp:ListView>
    </div>
    </form>
</body>
</html>



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        _simpleTableListView.DataSource = new Movie().GetAll;
        _simpleTableListView.DataBind();

    }

    protected void _simpleTableListView_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        GridView gv= ((GridView)e.Item.FindControl("MyGridView"));

    }
}

public class Movie
{
    public int Id { get; set; }
    public string Title { get; set; }

    public List<Movie> GetAll
    {

        get
        {
            return new List<Movie>()
            {
                new Movie{Id=1,Title="A"},
                new Movie{Id=2,Title="B"},
            };
        }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2011-02-10 19:21:34

使用FindControl方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4956367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档