data binding control then you'd need to access the row in your template control
> How to access other controls values in ITemplate? Hi,
>
> I have simple Itemplate implementation with 2 textboxes and button. On
> postback I would like to access values entered by user in the textbox
> controls.
>
> The Itemplate sample below has two text boxes for first name and last
> name. There is Ok button that will do process first name and last name
> entered by the user.
>
> Thanks, Luhar
>
> <%@ Page %>
> <%@ Register TagPrefix="TemplateControlSamples"
> Namespace="TemplateControlSamples" Assembly="TemplateControlSamples"
> %>
> <script runat=server language=c#>
> void Page_Load()
> {
> DataBind();
> }
> public void ButtonOK_Click(object sender, System.EventArgs e)
> {
> Response.Write("Button Ok clicked");
> //Call some function with firstname and last name entered by user?
> //How do i get access to first name and last name?
> }
> </script>
> <html>
>
> <body>
>
> <form method="POST" runat="server">
>
> Non Templated version:
>
> <TemplateControlSamples:Template1 Message="Hello World!"
> runat=server/>
>
> <hr>
>
> Templated version:<br>
>
> <TemplateControlSamples:Template1 Message="Hello World!"
> runat=server>
> <MessageTemplate>
> <b><i><u>
> <%# Container.Message %>
> <asp:textbox id=TextBoxFirstName runat="server"
> NAME="Textbox1"></asp:TextBox><br>
> <asp:textbox id=TextBoxLastName runat="server"
> NAME="Textbox2"></asp:TextBox><br>
> <asp:button id=ButtonOK onclick=ButtonOk_Click
> Text="Ok" Runat="server"></asp:Button>
> </u></i></b>
> </MessageTemplate>
> </TemplateControlSamples:Template1>
> </form>
>
> </body>
>
> </html>
>
> /*******************************************************/ using
> System; using System.Web; using System.Web.UI;
>
> namespace TemplateControlSamples {
>
> public class TemplateItem : Control, INamingContainer { private String
> _message = null;
>
> public TemplateItem(String message) { _message = message; }
>
> public String Message {
>
> get { return _message; } set { _message = value; } } }
>
> [ ParseChildren(true) ] public class Template1 : Control,
> INamingContainer {
>
> private ITemplate _messageTemplate = null; private String
> _message = null;
>
> public String Message {
>
> get { return _message; } set { _message = value; } }
>
> [ PersistenceMode(PersistenceMode.InnerProperty),
> TemplateContainer(typeof(TemplateItem)) ] public ITemplate
> MessageTemplate { get { return _messageTemplate; } set {
> _messageTemplate = value; } }
>
> public override void DataBind() { EnsureChildControls();
> base.DataBind(); }
>
> protected override void CreateChildControls() {
>
> // If a template has been specified, use it to create children. //
> Otherwise, create a single literalcontrol with message value
>
> if (MessageTemplate != null) { Controls.Clear(); TemplateItem i = new
> TemplateItem(this.Message); MessageTemplate.InstantiateIn(i);
>
> Controls.Add(i); } else { this.Controls.Add(new
> LiteralControl(this.Message)); } } } }
>
> --------------------------------
> From: Luhar Powell
> -----------------------
> Posted by a user from .NET 247 (
http://www.dotnet247.com/)
> <Id>74yo8e5ODEqJcNxJ8aYlSQ==</Id>
>