新しい.net/C#Web Begginnerとして、私はFindControlを使用しようとするといつもうまくいった。 Blam - 私の顔に浮かぶ。ここに私の現在にFindControlの問題です:DataList編集モードのFindControl
<EditItemTemplate>
<asp:Label ID="thumbnailUploadLabel" runat="server" text="Upload a new thumbnail image:"/><br />
<asp:FileUpload ID="thumbnailImageUpload" runat="server" />
<asp:Button ID="thunbnailImageUploadButton" runat="server" Text="Upload Now" OnClick="thumbnailUpload"/><br />
</EditItemTemplate>
次があります。私は.aspxページとフォームを持っている
、その後、AJAXのUpdatePanelは、その中に私のDataList EditItemTemplateを持っている(DataList1)がありますFileUploadとラベルのための
protected void thumbnailUpload(object s, EventArgs e)
{
if (thumbnailImageUpload.HasFile)
{
//get name of the file & upload
string imageName = thumbnailImageUpload.FileName;
thumbnailImageUpload.SaveAs(MapPath("../../images/merch_sm/" + imageName));
//let'em know that it worked (or didn't)
thumbnailUploadLabel.Text = "Image " + imageName + "has been uploaded.";
}
else
{
thumbnailUploadLabel.Text = "Please choose a thumbnail image to upload.";
}
だから、もちろん、私は取得しています「オブジェクトのインスタンスに設定されていないオブジェクト参照」:後ろの私のC#コードでは、私はするFileUploadオブジェクトのクリック時のコードを持っています。
OnClickイベントでこれらのコントロールを処理する前に、これらのコントロールを見つける正しい構文は何ですか?
アイブにFindControlを使用する唯一の方法は、のようなものです:ラベルとして
ラベルthumbnailUploadLabel = DataList1.FindControl( "thumbnailUploadLabel");
もちろん、これは「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーを投げています。どんな助力も非常に感謝しています。
(私はまた、FindControlを使いやすくするための「再帰的な」コードを見たことがあります)Ha!私は自分のプロジェクトにそれらを組み込む方法を知らないC#で非常に緑色です。 )
ありがとうございました。
こんにちはPankaj、応答に感謝します。遅刻は決して良くない。私はあなたが上に投稿したものに類似したコードを使用して終了しました。はい、私はUpdatePanelの問題の中でFileUploadを発見しました。また、私は非常にエレガントなマルチファイルのアップロードオブジェクトとしてDean Brettle(www.brettle.com)のNeatUploadを発見しました。必要が生じたら... – Doug