标签: findcontrol

如何在转发器页眉或页脚中查找控件

我想知道如何在Asp.Net Repeater控件的HeaderTemplate或FooterTemplate中找到控件.

我可以在ItemDataBound事件上访问它们,但我想知道如何获取它们(例如,在页眉/页脚中检索输入的值).

注意:我在找到答案之后在这里发布了这个问题,以便我记住它(也许其他人可能会觉得这很有用).

asp.net controls repeater findcontrol

119
推荐指数
3
解决办法
10万
查看次数

在ASP.NET中找到控件的更好方法

我有一个复杂的asp.net表单,在一个表单中甚至有50到60个字段Multiview,在MultiView中我有一个GridView,而在GridView中我有几个CheckBoxes.

目前我正在使用该FindControl()方法的链接并检索子ID.

现在,我的问题是,是否有任何其他方法/解决方案可以在ASP.NET中找到嵌套控件.

asp.net findcontrol

46
推荐指数
4
解决办法
10万
查看次数

ASP.Net FindControl不工作 - 怎么样?

我曾经FindControl在.NET 2.0/3.0之前使用过.现在看来,由于某些原因,我的控件的ID会被分配一个时髦的名字.例如,我为复选框分配了一个id"cbSelect",但FindControl找不到它.当我查看它被分配的HTML时ctl00_bodyPlaceHolder_ctl02_cbSelect.

我还没有找到提到它的FindControl的一个例子.事实上,每个人似乎都像正常一样使用find控件.

那么,我做错了什么?.Net改变了吗?任何人都可以为我解释这一点,这真的令人沮丧!

.net c# asp.net findcontrol

29
推荐指数
4
解决办法
6万
查看次数

如何在GridView的TemplateField中找到Control?

FindControl如果我需要找到Control内部的任何内容GridView Template,更具体地说,方法是如何工作的ItemTemplate

我有一个,hyperlink但它无法找到相同的.

用代码更新问题

GridView 代码如下:

<asp:GridView ID="grvYourOpportunities" runat="server" AllowPaging="True" AutoGenerateColumns="False"
        DataKeyNames="ID#,B,H" PageSize="20" CellPadding="4" ForeColor="#333333" GridLines="Both"
        OnRowDataBound="grvYourOpt_RowDataBound">
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <Columns>
          <asp:TemplateField>
                <HeaderTemplate>
                    i
                </HeaderTemplate>
                <ItemTemplate>
                    <%# Eval("i") %>
                </ItemTemplate>
            </asp:TemplateField>

            <asp:TemplateField>
                <HeaderTemplate>
                    H
                </HeaderTemplate>
                <ItemTemplate>

                    <%--<a href="javascript:ShowChildGrid('div<%# Eval("ID#") %>');">
                    <img id="imgdiv<%# Eval("ID#") %>" alt="Click" border="0" src="plus.gif" runat="server" />  </a>  --%>

                    <asp:HyperLink runat="server" ID="hlPlus" ImageUrl="~/plus.gif"></asp:HyperLink>

                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <HeaderTemplate>
                    B
                </HeaderTemplate>
                <ItemTemplate>
                    <%--<%# Eval("B") %>--%> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview findcontrol templatefield

27
推荐指数
1
解决办法
19万
查看次数

在WPF项目控件中查找控件

嗨,我在itemscontrol的datatemplate中只有一个文本框.当我将itemcontrols绑定到一个可观察的集合时,我得到两个文本框.但我需要根据每个文本框进行一些操作,我希望使用一些id分别找到每个文本框.

任何人都可以帮助如何在WPF中的itemscontrol中找到控件.

wpf findcontrol itemscontrol

22
推荐指数
2
解决办法
4万
查看次数

使用Enumerable.OfType <T>()或LINQ查找特定类型的所有子控件

存在MyControl1.Controls.OfType<RadioButton>()只搜索通最初收集和不进入到孩子.

是否可以使用Enumerable.OfType<T>()LINQ不使用自己的递归方法找到特定类型的所有子控件?像这样.

.net c# linq asp.net findcontrol

14
推荐指数
1
解决办法
2万
查看次数

在具有母版页的页面上查找控件

我必须Control在一个绑定到母版页的aspx页面中找到一个.

母版页包含:

<asp:ContentPlaceHolder ID="MainContent" runat="server"/>               
Run Code Online (Sandbox Code Playgroud)

内容页面包含:

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

我添加了一个TableID formtable作为一个孩子Content2.

我尝试使用以下代码来访问Table,但代码返回null:

protected void Ok_Click(object sender, EventArgs e)
{
    Table tblForm = this.FindControl("MainContent").FindControl("formtable") as Table;                 
}
Run Code Online (Sandbox Code Playgroud)

我该如何访问Table

c# asp.net master-pages findcontrol

14
推荐指数
1
解决办法
4万
查看次数

使用FindControl()来查找控件

我有一个Literal控件,我试图找到,所以我可以插入文本.我有一个包含多个内容占位符的母版页.

<asp:Content ID="Content7" ContentPlaceHolderID="MainLinks" runat="server">
    <h3>Project Navigation</h3>
<ul class="rightColBoxNav">
<asp:Literal ID="litNavLinks" runat="server" />
</ul>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

我一直得到"对象引用未设置为对象的实例".如何找到此对象以便我可以找到并更新它?

我试过了:

((Literal)Page.FindControl("litNavLinks")).Text = sb.ToString();
((Literal)Page.Page.FindControl("litNavLinks")).Text = sb.ToString();
((Literal)Page.FindControl("Content7").FindControl("litNavLinks")).Text = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

无济于事.我如何确定位置?

c# asp.net findcontrol

13
推荐指数
1
解决办法
5万
查看次数

在ListView EmptyDataTemplate中查找控件

ListView喜欢这个

<asp:ListView ID="ListView1" runat="server">
   <EmptyDataTemplate>
      <asp:Literal ID="Literal1" runat="server" text="some text"/>
   </EmptyDataTemplate>
   ...
</asp:ListView>
Run Code Online (Sandbox Code Playgroud)

Page_Load()我有以下几点:

Literal x = (Literal)ListView1.FindControl("Literal1");
x.Text = "other text";
Run Code Online (Sandbox Code Playgroud)

但是x回归null.我想更改Literal控件的文本,但我不知道如何做到这一点.

.net c# asp.net listview findcontrol

12
推荐指数
1
解决办法
2万
查看次数

如何访问GridView的HeaderTemplate中的控件

我想在GridView的标题中有一个DropDownList.在我的代码隐藏中,我似乎无法访问它.这是HeaderTemplate:

<asp:TemplateField SortExpression="EXCEPTION_TYPE">
    <HeaderTemplate>
        <asp:Label ID="TypeId" runat="server" Text="Type" ></asp:Label>
        <asp:DropDownList ID="TypeFilter" runat="server" AutoPostBack="true">
        </asp:DropDownList>
    </HeaderTemplate>
    ...
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

这里是代码背后的部分,我试图访问控件'TypeFilter'.

protected void ObjectDataSource1_Selected(object sender, 
                                          ObjectDataSourceStatusEventArgs e)
{
    DataTable dt = (DataTable)e.ReturnValue;
    int NumberOfRows = dt.Rows.Count;
    TotalCount.Text = NumberOfRows.ToString();
    DataView dv = new DataView(dt);
    DataTable types = dv.ToTable(true, new string[] { "EXCEPTION_TYPE" });
    DropDownList typeFilter = (DropDownList)GridView1.FindControl("TypeFilter");
    typeFilter.DataSource = types;
    typeFilter.DataBind();

}
Run Code Online (Sandbox Code Playgroud)

您会注意到我正在尝试使用FindControl来获取对DropDownList控件的引用.此调用返回null而不是返回控件.如何访问控件?

c# asp.net findcontrol

9
推荐指数
1
解决办法
2万
查看次数