簡體   English   中英

.cs文件中無法識別的工具箱對象

[英]Toolbox objects not recognized in .cs file

我是asp的新手。 我已經使用ASP建立了一個網站。 我使用Artisteer建造了Templete。 一切正常,直到我嘗試創建登錄頁面為止。 我會給我的代碼部分不要打擾

這是我的Registration.aspx頁面的一部分

<@ 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>

..........

而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");
            }
        }


    }

問題是.cs文件中無法識別textBoxUser。 有人有什么主意嗎?

請注意,Article(或Block)是模板控件。 因此,您不能直接從頁面引用ContentTemplate內部的控件。 您應該在Article的上下文中找到此控件。

嘗試將以下代碼添加到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;

參考: 藝術家論壇

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM