Sideway
output.to from Sideway
Draft for Information Only

Content

How to: Access Members of Naming Container
 Access Members of a Web Server Control's Naming Container
  To access the naming container from a data-binding expression
   Reference Container keyword to the container
    Note
 Simple Repeater Web Server Control Examples
   Examples of Visual C# ASP.NET Repeater Web Server Control
   Examples of Visual Basic ASP.NET Repeater Web Server Control
  To access the naming container from code
   Reference the control's NamingContainer property
 See Also
 Concepts
 Reference
 Other Resources
 Source and Reference

How to: Access Members of Naming Container

Access Members of a Web Server Control's Naming Container

At times, you need to access properties or methods of a control's naming container. For example, during data binding, the naming container makes available a DataItem property containing the data to which controls are bound. You can access the containing control in different ways, depending on context.

To access the naming container from a data-binding expression

Reference Container keyword to the container

In the data-binding expression, use the Container keyword, which returns a reference to the container. You can then access the container's properties or methods.
This keyword is used most commonly in the Eval method to get values from the naming container's DataItem object, but can be used outside of that method as well. The following example shows a Label control that might be in a template for a DataList, Repeater, or GridView control. It displays the current item number followed by the current Title data item of the naming container.
<asp:Label ID="Label1" runat="server">
<%# Container.DataItemIndex + 1 %>. <%# Eval("Title") %>
</asp:Label>
The following example is similar, but gets a value (the Author item) from the naming container's DataItem object:
<asp:Label ID="Label2" runat="server" >
<%# DataBinder.Eval(Container.DataItem, "Author") %>
</asp:Label>
Note
The NamingContainer property does not necessarily reference the same control as the Parent property. For example, in a Repeater control, you might have an item template containing a table that in turn contains a Label control. The parent control of the label is a table cell (for example, a HtmlTableCell object), but its naming container is the DataListItem object, because it is the DataListItem that defines the namespace for the Label control, not the table.
A complete example using the syntax shown above to get property values is shown below.

Simple Repeater Web Server Control Examples

Examples of Visual C# ASP.NET Repeater Web Server Control

ASP.NET Code Input:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head id="Head1" runat="server">
        <title>Sample Page</title>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <%@ Page Language="C#" %>
    </head>
    <body>
        <form id="form1" runat="server">

        <h3>Naming Container Example</h3>
        <div>
            <asp:XmlDataSource ID="XmlDataSource1"
                runat="server"
                XPath="Books/LanguageBooks/Book">
            <Data>
                <Books>
                    <LanguageBooks>
                        <Book Title="Pure JavaScript"
                            Author="Wyke, Gilliam, and Ting"/>
                        <Book Title="Effective C++ Second Edition"
                            Author="Scott Meyers"/>
                        <Book Title="Assembly Language Step-By-Step"
                            Author="Jeff Duntemann"/>
                        <Book Title="Oracle PL/SQL"
                            Author="Steven Feuerstein"/>
                    </LanguageBooks>
                    <SecurityBooks>
                        <Book Title="Counter Hack"
                            Author="Ed Skoudis"/>
                    </SecurityBooks>
                </Books>
            </Data>
            </asp:XmlDataSource>
            <asp:GridView ID="GridView1"
                runat="server"
                DataSourceID="XmlDataSource1"
                AutoGenerateColumns="False">
                <Columns>
                    <asp:TemplateField HeaderText="Title" >
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server">
                            <%# Container.DataItemIndex + 1 %>. <%# Eval("Title") %>
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Author">
                        <ItemTemplate>
                            <asp:Label ID="Label2" runat="server" >
                                <%# DataBinder.Eval(Container.DataItem, "Author") %>
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </div>
        </form>
    </body>
</html>
HTTP Response Output:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head id="Head1"><title>
	Sample Page
</title><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /></head>
    <body>
        <form method="post" action="./aspnetht_accessbynamingcontainer_001a_01.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTUzMDI5OTI5Mg9kFgICAw9kFgICAw88KwARAwAPFgQeC18hRGF0YUJvdW5kZx4LXyFJdGVtQ291bnQCBGQBEBYAFgAWAAwUKwAAFgJmD2QWCgIBD2QWBGYPZBYCAgEPZBYCZg8VAgExD1B1cmUgSmF2YVNjcmlwdGQCAQ9kFgICAQ9kFgJmDxUBF1d5a2UsIEdpbGxpYW0sIGFuZCBUaW5nZAICD2QWBGYPZBYCAgEPZBYCZg8VAgEyHEVmZmVjdGl2ZSBDKysgU2Vjb25kIEVkaXRpb25kAgEPZBYCAgEPZBYCZg8VAQxTY290dCBNZXllcnNkAgMPZBYEZg9kFgICAQ9kFgJmDxUCATMeQXNzZW1ibHkgTGFuZ3VhZ2UgU3RlcC1CeS1TdGVwZAIBD2QWAgIBD2QWAmYPFQEOSmVmZiBEdW50ZW1hbm5kAgQPZBYEZg9kFgICAQ9kFgJmDxUCATQNT3JhY2xlIFBML1NRTGQCAQ9kFgICAQ9kFgJmDxUBEVN0ZXZlbiBGZXVlcnN0ZWluZAIFDw8WAh4HVmlzaWJsZWhkZBgBBQlHcmlkVmlldzEPPCsADAEIAgFkzws5lZ/9P+YAPTfquPwjbARUHt+QTSeAAtv6eoqDufg=" />
</div>

<div class="aspNetHidden">

	<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="83BE5E47" />
</div>

        <h3>Naming Container Example</h3>
        <div>
                 <div>
	<table cellspacing="0" rules="all" border="1" id="GridView1" style="border-collapse:collapse;">
		<tr>
			<th scope="col">Title</th><th scope="col">Author</th>
		</tr><tr>
			<td>
                            <span id="GridView1_Label1_0">1. Pure JavaScript</span>
                        </td><td>
                            <span id="GridView1_Label2_0">Wyke, Gilliam, and Ting</span>
                        </td>
		</tr><tr>
			<td>
                            <span id="GridView1_Label1_1">2. Effective C++ Second Edition</span>
                        </td><td>
                            <span id="GridView1_Label2_1">Scott Meyers</span>
                        </td>
		</tr><tr>
			<td>
                            <span id="GridView1_Label1_2">3. Assembly Language Step-By-Step</span>
                        </td><td>
                            <span id="GridView1_Label2_2">Jeff Duntemann</span>
                        </td>
		</tr><tr>
			<td>
                            <span id="GridView1_Label1_3">4. Oracle PL/SQL</span>
                        </td><td>
                            <span id="GridView1_Label2_3">Steven Feuerstein</span>
                        </td>
		</tr>
	</table>
</div>
        </div>
        </form>
    </body>
</html>
HTML Web Page Embedded Output:

Examples of Visual Basic ASP.NET Repeater Web Server Control

ASP.NET Code Input:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head id="Head1" runat="server">
        <title>Sample Page</title>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <%@ Page Language="vb" %>
    </head>
    <body>
        <form id="form1" runat="server">

        <h3>Naming Container Example</h3>
        <div>
            <asp:XmlDataSource ID="XmlDataSource1"
                runat="server"
                XPath="Books/LanguageBooks/Book">
            <Data>
                <Books>
                    <LanguageBooks>
                        <Book Title="Pure JavaScript"
                            Author="Wyke, Gilliam, and Ting"/>
                        <Book Title="Effective C++ Second Edition"
                            Author="Scott Meyers"/>
                        <Book Title="Assembly Language Step-By-Step"
                            Author="Jeff Duntemann"/>
                        <Book Title="Oracle PL/SQL"
                            Author="Steven Feuerstein"/>
                    </LanguageBooks>
                    <SecurityBooks>
                        <Book Title="Counter Hack"
                            Author="Ed Skoudis"/>
                    </SecurityBooks>
                </Books>
            </Data>
            </asp:XmlDataSource>
            <asp:GridView ID="GridView1"
                runat="server"
                DataSourceID="XmlDataSource1"
                AutoGenerateColumns="False">
                <Columns>
                    <asp:TemplateField HeaderText="Title" >
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server">
                            <%# Container.DataItemIndex + 1 %>. <%# Eval("Title") %>
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Author">
                        <ItemTemplate>
                            <asp:Label ID="Label2" runat="server" >
                                <%# DataBinder.Eval(Container.DataItem, "Author") %>
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </div>
        </form>
    </body>
</html>
HTTP Response Output:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head id="Head1"><title>
	Sample Page
</title><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /></head>
    <body>
        <form method="post" action="./aspnetht_accessbynamingcontainer_001a_02.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTUzMDI5OTI5Mg9kFgICAw9kFgICAw88KwARAwAPFgQeC18hRGF0YUJvdW5kZx4LXyFJdGVtQ291bnQCBGQBEBYAFgAWAAwUKwAAFgJmD2QWCgIBD2QWBGYPZBYCAgEPZBYCZg8VAgExD1B1cmUgSmF2YVNjcmlwdGQCAQ9kFgICAQ9kFgJmDxUBF1d5a2UsIEdpbGxpYW0sIGFuZCBUaW5nZAICD2QWBGYPZBYCAgEPZBYCZg8VAgEyHEVmZmVjdGl2ZSBDKysgU2Vjb25kIEVkaXRpb25kAgEPZBYCAgEPZBYCZg8VAQxTY290dCBNZXllcnNkAgMPZBYEZg9kFgICAQ9kFgJmDxUCATMeQXNzZW1ibHkgTGFuZ3VhZ2UgU3RlcC1CeS1TdGVwZAIBD2QWAgIBD2QWAmYPFQEOSmVmZiBEdW50ZW1hbm5kAgQPZBYEZg9kFgICAQ9kFgJmDxUCATQNT3JhY2xlIFBML1NRTGQCAQ9kFgICAQ9kFgJmDxUBEVN0ZXZlbiBGZXVlcnN0ZWluZAIFDw8WAh4HVmlzaWJsZWhkZBgBBQlHcmlkVmlldzEPPCsADAEIAgFkexX4ROdMFtsCwnhSBgRRELUqPBWB6lidCiuzPw9+Bis=" />
</div>

<div class="aspNetHidden">

	<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="28F643BD" />
</div>

        <h3>Naming Container Example</h3>
        <div>
                 <div>
	<table cellspacing="0" rules="all" border="1" id="GridView1" style="border-collapse:collapse;">
		<tr>
			<th scope="col">Title</th><th scope="col">Author</th>
		</tr><tr>
			<td>
                            <span id="GridView1_Label1_0">1. Pure JavaScript</span>
                        </td><td>
                            <span id="GridView1_Label2_0">Wyke, Gilliam, and Ting</span>
                        </td>
		</tr><tr>
			<td>
                            <span id="GridView1_Label1_1">2. Effective C++ Second Edition</span>
                        </td><td>
                            <span id="GridView1_Label2_1">Scott Meyers</span>
                        </td>
		</tr><tr>
			<td>
                            <span id="GridView1_Label1_2">3. Assembly Language Step-By-Step</span>
                        </td><td>
                            <span id="GridView1_Label2_2">Jeff Duntemann</span>
                        </td>
		</tr><tr>
			<td>
                            <span id="GridView1_Label1_3">4. Oracle PL/SQL</span>
                        </td><td>
                            <span id="GridView1_Label2_3">Steven Feuerstein</span>
                        </td>
		</tr>
	</table>
</div>
        </div>
        </form>
    </body>
</html>
HTML Web Page Embedded Output:

To access the naming container from code

Reference the control's NamingContainer property

Get the control's NamingContainer property and cast it to the container's class type, such as GridViewRow. For an example, see Using the NamingContainer Property to Determine a Control's Naming Container.

See Also

Concepts

Web Forms Control Identification

Reference

Data-Binding Expression Syntax

Other Resources

Accessing ASP.NET Controls Programmatically

Source and Reference

https://docs.microsoft.com/en-us/previous-versions/aspnet/858twd77(v=vs.100)

©sideway

ID: 211000019 Last Updated: 10/19/2021 Revision: 0 Ref:

close

References

  1. Active Server Pages,  , http://msdn.microsoft.com/en-us/library/aa286483.aspx
  2. ASP Overview,  , http://msdn.microsoft.com/en-us/library/ms524929%28v=vs.90%29.aspx
  3. ASP Best Practices,  , http://technet.microsoft.com/en-us/library/cc939157.aspx
  4. ASP Built-in Objects,  , http://msdn.microsoft.com/en-us/library/ie/ms524716(v=vs.90).aspx
  5. Response Object,  , http://msdn.microsoft.com/en-us/library/ms525405(v=vs.90).aspx
  6. Request Object,  , http://msdn.microsoft.com/en-us/library/ms524948(v=vs.90).aspx
  7. Server Object (IIS),  , http://msdn.microsoft.com/en-us/library/ms525541(v=vs.90).aspx
  8. Application Object (IIS),  , http://msdn.microsoft.com/en-us/library/ms525360(v=vs.90).aspx
  9. Session Object (IIS),  , http://msdn.microsoft.com/en-us/library/ms524319(8v=vs.90).aspx
  10. ASPError Object,  , http://msdn.microsoft.com/en-us/library/ms524942(v=vs.90).aspx
  11. ObjectContext Object (IIS),  , http://msdn.microsoft.com/en-us/library/ms525667(v=vs.90).aspx
  12. Debugging Global.asa Files,  , http://msdn.microsoft.com/en-us/library/aa291249(v=vs.71).aspx
  13. How to: Debug Global.asa files,  , http://msdn.microsoft.com/en-us/library/ms241868(v=vs.80).aspx
  14. Calling COM Components from ASP Pages,  , http://msdn.microsoft.com/en-us/library/ms524620(v=VS.90).aspx
  15. IIS ASP Scripting Reference,  , http://msdn.microsoft.com/en-us/library/ms524664(v=vs.90).aspx
  16. ASP Keywords,  , http://msdn.microsoft.com/en-us/library/ms524672(v=vs.90).aspx
  17. Creating Simple ASP Pages,  , http://msdn.microsoft.com/en-us/library/ms524741(v=vs.90).aspx
  18. Including Files in ASP Applications,  , http://msdn.microsoft.com/en-us/library/ms524876(v=vs.90).aspx
  19. ASP Overview,  , http://msdn.microsoft.com/en-us/library/ms524929(v=vs.90).aspx
  20. FileSystemObject Object,  , http://msdn.microsoft.com/en-us/library/z9ty6h50(v=vs.84).aspx
  21. http://msdn.microsoft.com/en-us/library/windows/desktop/ms675944(v=vs.85).aspx,  , ADO Object Model
  22. ADO Fundamentals,  , http://msdn.microsoft.com/en-us/library/windows/desktop/ms680928(v=vs.85).aspx
close

Latest Updated LinksValid XHTML 1.0 Transitional Valid CSS!Nu Html Checker Firefox53 Chromena IExplorerna
IMAGE

Home 5

Business

Management

HBR 3

Information

Recreation

Hobbies 8

Culture

Chinese 1097

English 339

Reference 79

Computer

Hardware 249

Software

Application 213

Digitization 32

Latex 52

Manim 205

KB 1

Numeric 19

Programming

Web 289

Unicode 504

HTML 66

CSS 65

SVG 46

ASP.NET 270

OS 429

DeskTop 7

Python 72

Knowledge

Mathematics

Formulas 8

Algebra 84

Number Theory 206

Trigonometry 31

Geometry 34

Coordinate Geometry 2

Calculus 67

Complex Analysis 21

Engineering

Tables 8

Mechanical

Mechanics 1

Rigid Bodies

Statics 92

Dynamics 37

Fluid 5

Fluid Kinematics 5

Control

Process Control 1

Acoustics 19

FiniteElement 2

Natural Sciences

Matter 1

Electric 27

Biology 1

Geography 1


Copyright © 2000-2024 Sideway . All rights reserved Disclaimers last modified on 06 September 2019