如题。。
就是我有个模板页名为“masterTest”,又有一个自定义控件名为“usercontrolTest”,这个自定义控件有个“textboxTest”文本框吧。。
自定义控件是放在模板页里面的。
我在内容页里面怎么找出textboxTest的值噢?

解决方案 »

  1.   

    给textboxTest一个ID,然后用JS取???
    你是在什么时候要他的值?
    后台,还是前台?
      

  2.   

    后台,我的意思是要获取textboxTest里面的值。。我是举个例子它的id就叫:textboxTest。
      

  3.   

    试过,这样是不行的。。
    我可能说得不是很清楚。。再说说。我是在使用了模板页的内容页的后台去找这个textboxTest控件的啊
      

  4.   

    问题解决了吗?到这看看http://blog.sina.com.cn/s/blog_5f8d04170100hqy5.html ,希望会对你有帮助
      

  5.   

    用户控件有这么一个TextBox <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>内用页面 创建一个用户控件 uc1 <uc1:UC_TXT ID="uc1" runat="server" />那么在后台 
    就可以用以下语句获取到用户控件中的TextBox TextBox tb = (TextBox)uc1.FindControl("TextBox1");
      

  6.   

    对了 补充下 
    如果你的用户控件是在母版页面上面的话  
    你需要先找到 用户控件 然后从用户控件中找到 下拉框例如下面的例子 UC2 是母版页中用户控件的ID WebUserControl uc2 = (WebUserControl)Master.FindControl("uc2");
    TextBox tb = (TextBox)uc2.FindControl("TextBox1");
    Label1.Text = tb.Text;     
      

  7.   

    Master.FindControl("textboxTest") 
      

  8.   

    恩,明白你意思。。但是我怎么知道我的用户自定义ID是哪个?我不会找。。我的用户控件是:Head.ascx
    我写WebUserControl uc2 = (WebUserControl)Master.FindControl("Head.ascx"); 这样是错的。到底怎么写?
      

  9.   

    用户控件的用法 看来你不是很明白 用户控件在使用的时候会在aspx 页面的 <%@ Page %> 下面添加引用
    例如<%@ Register Src="WebUserControl.ascx" TagName="UC_TXT" TagPrefix="uc1" %>
    那么我们在页面中使用时就和使用普通控件是一样的<uc1:UC_TXT ID="uc1" runat="server" />上面的UC1 就是该用户控件的ID了你在内用页面的时候根据这个ID就能够找到该用户控件
      

  10.   

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
    <%@ Register Src="WebUserControl.ascx" TagName="UC_TXT" TagPrefix="uc2" %><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
            </asp:contentplaceholder>
            <uc2:UC_TXT ID="[color=#FF0000]UC2" runat="server" />[/color]
        </div>
        </form>
    </body>
    </html>
      

  11.   

    居然没有权限编辑  郁闷 <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
    <%@ Register Src="WebUserControl.ascx" TagName="UC_TXT" TagPrefix="uc2" %><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
      <title>无标题页</title>
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
      <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
      </asp:contentplaceholder>
      <uc2:UC_TXT ID="UC2" runat="server" />
      </div>
      </form>
    </body>
    </html>
    红色的是关键部分
      

  12.   

    非常郁闷,我还是找不到里面的控件,断点进去是null的。
      

  13.   

    模板页这样写的:<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage2.master.cs" Inherits="MasterPage2" %><%@ Register src="UserControl/Head.ascx" tagname="Head" tagprefix="uc1" %><!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>
        <asp:ContentPlaceHolder id="head" runat="server">
        </asp:ContentPlaceHolder>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
            
                <uc1:Head ID="Head1" runat="server" />
            
            </asp:ContentPlaceHolder>
        </div>
        </form>
    </body>
    </html>
    然后是自定义用户控件:
    [code]
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Head.ascx.cs" Inherits="Head" %>
        <table width="950" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td align="left" bgcolor="#6699FF">
            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Default.aspx">首页</asp:HyperLink>
            <asp:LinkButton ID="lkadmin" runat="server" Visible="false">LinkButton</asp:LinkButton>
          </td>
        <td align="right" bgcolor="#6699FF">
            <asp:ImageButton ID="imgbtnShopCart" runat="server" 
                ImageUrl="~/image/shopcart.jpg" onclick="imgbtnShopCart_Click" 
                Height="18px" />
    &nbsp;&nbsp;
            <asp:LoginStatus ID="LoginStatus1" runat="server" />
            &nbsp;
            <asp:LoginView ID="LoginView1" runat="server">
                <RoleGroups>
                    <asp:RoleGroup Roles="admin">
                        <ContentTemplate>
                            嘿嘿,管理员,欢迎你
                        </ContentTemplate>
                    </asp:RoleGroup>
                    <asp:RoleGroup Roles="user">
                        <ContentTemplate>
                           你好,普通用户
                        </ContentTemplate>
                    </asp:RoleGroup>
                </RoleGroups>
                <LoggedInTemplate>
                    欢迎你!
                </LoggedInTemplate>
            </asp:LoginView>
            <asp:LoginName ID="LoginName1" runat="server" ForeColor="#3333CC" />
            &nbsp;
            |&nbsp; <asp:HyperLink ID="hlHelp" runat="server" ForeColor="#3333FF">帮助</asp:HyperLink>
            &nbsp;
            |&nbsp; <asp:TextBox ID="txtSearch" runat="server" Width="117px"></asp:TextBox>
            <asp:Button ID="btnSearch" runat="server" BackColor="Aqua" 
                style="margin-left: 0px" Text="搜索" Width="65px" />
            
          </td>
      </tr>
    </table>
    [/code]最后这个是内容页:
    [code]
    public partial class Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
               }
        protected void Button1_Click(object sender, EventArgs e)
        {
            
            WebControl uc = (WebControl)Master.FindControl("uc1");
            LinkButton lk = (LinkButton)uc.FindControl("lkadmin");
        }
    }
    [/code]
    帮忙看看是那里问题。。
      

  14.   


    谁叫你在后台看的那个ID是在模板页的前台代码里面 就是那个aspx 文件里面   你的用户控件叫Head.ascx   那么你在母版页搜索下 就一定会找到 <%@ Register 之类的引用例如下面的
    <%@ Register Src="WebUserControl.ascx" TagName="UC_TXT" TagPrefix="uc2" %>然后你查找 TagPrefix 里面的 uc2 具体查找按你页面的为准 如果还是找不到 你把模板页代码发上来
      

  15.   

    你母版页的那个 <uc1:Head   ID= "Head1 "   runat= "server "   /> Head1 就是用户控件的ID了 
    在内容页面 CS文件中 WebUserControl head  =  (WebUserControl)Master.FindControl( "Head1"); 
    LinkButton lk = (LinkButton)head.FindControl( "lkadmin ");
    不是 WebControl 而是 WebUserControl
                    
                            
      

  16.   

    代码我都帖过了啊另外WebUserControl head = (WebUserControl)Master.FindControl( "Head1");   这个WebUserControl 没有这个类。要引入什么命名空间不?我就找到个        UserControl但是无论我里面的id怎么写都是找不到   
    UserControl uc = (WebControl)Master.FindControl("Head"); 我试换了"Head1"或者是"head"还是没找到