2017-02-11 40 views
0

私はASP.NETの初心者です。だから私はこのチュートリアルhttp://asp.net-tutorials.com/user-controls/using/に従っていて、問題が発生しました。ウォークスルーとしてグローバル名前空間に型または名前空間の名前が見つかりませんでした(アセンブリ参照がありませんか?)

、私は

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserInfoBoxControl.ascx.cs" Inherits="UserInfoBoxControl" %> 
<b>Information about <%= this.UserName %></b> 
<%= this.UserName %> is <%= this.UserAge %> years old and lives in <%= this.UserCountry %> 
<My:UserInfoBoxControl runat="server" ID="MyUserInfoBoxControl" /> 

た.ascxファイルにマークアップを追加したと私は「このユーザーコントロールを追加するために、コードビハインドファイル

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace VeryBasic 
{ 
public partial class UserInfoBoxControl : System.Web.UI.UserControl 
{ 
    private string userName; 
    private int userAge; 
    private string userCountry; 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    public string UserName 
    { 
     get { return userName; } 
     set { userName = value; } 
    } 

    public int UserAge 
    { 
     get { return userAge; } 
     set { userAge = value; } 
    } 

    public string UserCountry 
    { 
     get { return userCountry; } 
     set { userCountry = value; } 
    } 
} 
} 

その後でプロパティを宣言しましたフォームを作成し、以下のコードを追加しました。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm.aspx.cs" Inherits="VeryBasic.WebForm" %> 
<%@ Register Src="~/UserInfoBoxControl.ascx" TagPrefix="My" TagName="UserInfoBoxControl" %> 
<My:UserInfoBoxControl runat="server" ID="MyUserInfoBoxControl" UserName="John Doe" UserAge="45" UserCountry="Australia" /> 

とWebフォームのコードビハインドはここにある。(私はドラッグ&ドロップユーザーコントロールをWebフォームにして編集した。確かに)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace VeryBasic 
{ 
public partial class WebForm : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     // These values can come from anywhere, but right now, we just hardcode them 
     MyUserInfoBoxControl.UserName = "Jane Doe"; 
     MyUserInfoBoxControl.UserAge = 33; 
     MyUserInfoBoxControl.UserCountry = "Germany"; 
    } 
} 
} 

私はこのプロジェクトを実行できます。しかし、ここではエラーが発生しています。

エラー3型または名前空間名「UserInfoBoxControl」がグローバル名前空間内に見つかりませんでした(あなたは、アセンブリ参照が不足している?)

は私が誰got.Canエラーを説明するために全力を試してみましたこれを解決するために私を助けてください?前もって感謝します。

答えて

0

は「userinfoboxcontrol」コードで

+0

エラーを解決しました。マークアップファイルとコードビハインドファイルの両方に誤ってデータを入力しました。それは私がエラーを持った理由だった。とにかく助けてくれてありがとう。 –

0

2ミスに非常に基本的なから名前空間名を変更してみてください。 UserNameUserAgeよう

  1. プロパティは静的ではありません。したがって、それらにアクセスするにはMyUserInfoBoxControlのインスタンスを作成する必要があります。

    MyUserInfoBoxControl obj = new MyUserInfoBoxControl(); obj.UserName = "Jane Doe";

  2. は、私はあなたが右のエラーを与えているwhick、MyUserInfoBoxControlをクリックするとResolveオプションを選択することができますね。どのクラスがどの名前空間にあるのかを覚えにくいので、resolve trickを使用して名前空間を見つける。

関連する問題