0

私はここで時間を過ごしています。クラス ファイルがあり、その中の Web ページからコントロールを参照する必要があります。Web でいくつかの例を見つけましたが、何かが正しく機能していません。関連するC#は次のとおりです。

Page page = (Page)HttpContext.Current.Handler;
DropDownList ddl = (DropDownList)page.FindControl("ddlCrimeType");
ddl.DataSource = read; // read is a SqlDataReader.
ddl.DataBind();

私がやろうとしているDropDownListのは、クラスファイルでこれにいくつかのデータをバインドすることです。問題は、そこの 3 行目で、古いものを取得することです。

オブジェクト参照がオブジェクト インスタンスに設定されていません。

の を返すとFieldCountSqlDataReader適切な数のフィールドが得られるので、データがあると思います。私はコントロールを見つけていないだけだと思います。ddlCrimeTypeクラスファイルでコントロールを見つけるにはどうすればよいですか?

他に知っておくべきことがあれば教えてください。

アップデート:

コントロールはコンテンツ ページにあります。同じことをするためにページの分離コードに同様のコードを書いたとき、私はこれをしなければなりませんでした:

DropDownList ddl = (DropDownList)Master.FindControl("ContentPlaceHolder1").FindControl("ddlCrimeType");

クラスファイルでそれを行う方法を理解する必要があります。今、私は言われています:

The name 'Master' does not exist in the current context.
4

1 に答える 1