Asp.net 在.cs文件中无法识别工具箱对象
我是asp的新手。我已经建立了一个网站使用asp。我使用Artisteer构建模板。 在我尝试创建登录页面之前,一切都正常。我会给我的代码的一部分,不要太麻烦 这是我的Registration.aspx页面的一部分Asp.net 在.cs文件中无法识别工具箱对象,asp.net,Asp.net,我是asp的新手。我已经建立了一个网站使用asp。我使用Artisteer构建模板。 在我尝试创建登录页面之前,一切都正常。我会给我的代码的一部分,不要太麻烦 这是我的Registration.aspx页面的一部分 <@ Page Language="C#" MasterPageFile="~/design/MasterPage.master" AutoEventWireup="true" CodeFile="Registration.aspx.cs" Inherits="Registr
<@ Page Language="C#" MasterPageFile="~/design/MasterPage.master" AutoEventWireup="true"
CodeFile="Registration.aspx.cs" Inherits="Registration" %>
<@ Import Namespace="Artisteer" %>
<@ Register TagPrefix="artisteer" Namespace="Artisteer" %>
<@ Register TagPrefix="art" TagName="DefaultMenu" Src="DefaultMenu.ascx" %>
<@ Register TagPrefix="art" TagName="DefaultHeader" Src="DefaultHeader.ascx" %>
<@ Register TagPrefix="art" TagName="DefaultSidebar1" Src="DefaultSidebar1.ascx" %>
asp:Content ID="PageTitle" ContentPlaceHolderID="TitleContentPlaceHolder" Runat="Server">Once Upon a Cake</asp:Content>
asp:Content ID="MenuContent" ContentPlaceHolderID="MenuContentPlaceHolder" Runat="Server">
<art:DefaultMenu ID="DefaultMenuContent" runat="server" />
</asp:Content>
asp:Content ID="HeaderContent" ContentPlaceHolderID="HeaderContentPlaceHolder" Runat="Server">
art:DefaultHeader ID="DefaultHeader" runat="server" />
</asp:Content>
asp:Content ID="SideBar1" ContentPlaceHolderID="Sidebar1ContentPlaceHolder" Runat="Server">
art:DefaultSidebar1 ID="DefaultSidebar1Content" runat="server" />
</asp:Content>
<asp:Content ID="SheetContent" ContentPlaceHolderID="SheetContentPlaceHolder" Runat="Server">
<artisteer:article ID="Article2" runat="server"><ContentTemplate>
<br />
<table class="art-article" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>Name</td>
<td>User Name</td>
<td><asp:TextBox ID="textBoxUser" runat="server" Width="240" MaxLength="15" ></asp:TextBox>
</td>
<td>
<td>
asp:Content ID=“PageTitle”contentPlaceholder ID=“TitleContentPlaceHolder”Runat=“Server”>曾经是蛋糕
asp:Content ID=“MenuContent”contentplaceholder ID=“MenuContentPlaceHolder”Runat=“Server”>
asp:Content ID=“HeaderContent”contentplaceholder ID=“HeaderContentPlaceHolder”Runat=“Server”>
艺术:DefaultHeader ID=“DefaultHeader”runat=“server”/>
asp:Content ID=“SideBar1”contentplaceholder ID=“Sidebar1ContentPlaceHolder”Runat=“Server”>
艺术:DefaultSidebar1 ID=“DefaultSidebar1内容”runat=“服务器”/>
名称
用户名
并且Registration.aspx.cs文件是
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
public partial class Registration : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["RegConnectionString"].ConnectionString);
con.Open();
string cmdStr = "Select coun (*) from Register where UserName='" + textBoxUser.Text + "'";
SqlCommand userExist = new SqlCommand(cmdStr, con);
int temp = Convert.ToInt32(userExist.ExecuteScalar().ToString());
if (temp == 1)
{
Response.Write("User Name already Exist!!! </br> Choose another");
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用System.Data.SqlClient;
使用系统配置;
公共部分类注册:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(iPostBack)
{
SqlConnection con=新的SqlConnection(ConfigurationManager.ConnectionString[“RegConnectionString”].ConnectionString);
con.Open();
string cmdStr=“从用户名=”+textBoxUser.Text+“”的注册表中选择国家(*);
SqlCommand userExist=新的SqlCommand(cmdStr,con);
int temp=Convert.ToInt32(userExist.ExecuteScalar().ToString());
如果(温度==1)
{
回答。写(“用户名已经存在!!!选择另一个”);
}
}
}
问题是.cs文件中无法识别textBoxUser。
有人知道吗?请注意,文章(或块)是模板控件。
所以您不能直接从页面引用ContentTemplate中的控件。
您应该在文章的上下文中找到此控件
尝试将以下代码添加到Article类中
public override Control FindControl(string id)
{
EnsureChildControls();
if (null != _contentPlaceholder && _contentPlaceholder.Controls[0] is TemplateContainer)
return _contentPlaceholder.Controls[0].FindControl(id);
return null;
}
然后你可以像这样引用你的控件:
TextBox txt = Article2.FindControl("textBoxUser") as TextBox;
参考资料:您能在.cs文件中看到Article2对象吗?