私はかなり.NETの新機能を持っていて、単純なasp.netアプリケーションで小さな問題に遭遇していて、.ascxファイルで定義されたコントロールにアクセスしていますコードの背後にある。ここでAsp.netのコードはascxのコントロールにアクセスできない
は私のDefault.ascxファイルです:ここで
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<p>
<asp:Label AssociatedControlID = "userText" AccessKey = "L" runat="server" ID="userLabel">Username</asp:Label>
<asp:TextBox ID = "userText" runat="server" MaxLength="20" ></asp:TextBox>
</p>
</asp:Content>
Default.aspx.csファイルです:あなたが前方にかなりまっすぐに、見ることができるように
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Page_PreInit(object sender, EventArgs e)
{
userLabel.Text = "Hello!";
}
}
、私がしようとしているすべてのプログラムでラベルのテキストプロパティを変更することです。しかし、これを実行するとNullReferenceExceptionが発生し、userLabelはオブジェクトのインスタンスに設定されません。 userLabelを_Defaultクラスのプロパティにするべきではありませんか?明示的にプロパティとしてuserLabelを設定しようとしましたが、userLabelにすでに定義があるというコンパイル時エラーが発生します。
私はここで非常に簡単なものを見逃していると思うが、私はそれが何であるか分からない。誰かが私が間違っていることを教えてもらえますか?どうもありがとう!
右にスクロールします。それはそこにあります。 :) – Khan