クラスASP.NETC#で作成されたコントロールにプロパティを追加するにはどうすればよいですか?

ヌル

これはApp_Codeフォルダーにあります。ファイルをアップロードするためのカスタムコントロールを作成しています。AllowMultipleプロパティをFileUploadコントロールに追加する必要があります。どうすればよいですか?ファイルのアップロードがどこにあるかを確認するには、コード内のコメントを参照してください。msdnWebサイトからそれを行う方法を理解できません。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Drawing;
using System.Security.Permissions;

/// <summary>
/// Summary description for MultiFileUpload
/// </summary>
using System.IO;
using System.Configuration;
using System.Drawing.Imaging;
namespace MyControls
{
    [ToolboxData("<{0}:MultiFileUpload runat=server></{0}:MultiFileUpload>")]
    public class MultiFileUpload : CompositeControl
    {
        public string tempFolderPath;
        private FileUpload browser;
        private ListBox fileList;
        private Button addToListButton;
        private Button delFromListButton;
        private Button uploadFiles;
        private string uploadPath;
        public string thumbsPath;
      //  [BrowsableAttribute(true)]
       // public virtual bool AllowMultiple { get; set AllowMultiple=true; }
        protected override void CreateChildControls()
        {
// need to set AllowMultiple=true on here  for the fileupload. If there is a way aspx page that would work too        


            browser = new FileUpload();
            fileList = new ListBox();
            addToListButton = new Button();
            delFromListButton = new Button();
            uploadFiles = new Button();




            browser.Width = new Unit(350);
            fileList.Width = new Unit(265);
            addToListButton.Width = new Unit(75);
            delFromListButton.Width = new Unit(75);
            uploadFiles.Width = new Unit(353);





            addToListButton.Text = "Add";
            delFromListButton.Text = "Delete";
            uploadFiles.Text = "Upload to Site";

            addToListButton.Click += new EventHandler(AddToListButtonClick);
            delFromListButton.Click += new EventHandler(DelFromListButtonClick);
            uploadFiles.Click += new EventHandler(UploadFilesClick);

            this.Controls.Add(new LiteralControl("<table><tr><td colspan='2'>"));
            this.Controls.Add(browser);
            this.Controls.Add(new LiteralControl("<td></tr><tr><td rowspan='2' width='20'>"));
            this.Controls.Add(fileList);
            this.Controls.Add(new LiteralControl("</td><td>"));
            this.Controls.Add(addToListButton);
            this.Controls.Add(new LiteralControl("</td></tr><tr><td colspan='2'>"));
            this.Controls.Add(delFromListButton);
            this.Controls.Add(new LiteralControl("</td></tr><table>"));
            this.Controls.Add(uploadFiles);

            base.CreateChildControls();
        }
        protected override void Render(HtmlTextWriter writer) {base.Render(writer);}
        public MultiFileUpload() {}
        public void SetUploadPath(string path) {this.uploadPath = path;}
        public string GetUploadPath() {return this.uploadPath;}

        private void AddToListButtonClick(object source, EventArgs e)
        {
            if (browser.HasFile) {
                DirectoryInfo tempFolder = new DirectoryInfo(tempFolderPath);
                if (tempFolder.Exists)
                {
                    browser.SaveAs(tempFolderPath + browser.FileName);
                }
            }
            RefreshListBox();
        }
        private void DelFromListButtonClick(object source, EventArgs e)
        {
            if (fileList.SelectedIndex != -1)
            {
                DirectoryInfo tempFolder = new DirectoryInfo(tempFolderPath);
                tempFolder.GetFiles().ElementAt(fileList.SelectedIndex).Delete();
                RefreshListBox();
            }
        }
ニムランド

.NET Framework 4.5以降を使用している場合、そのプロパティは既に存在します。

https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.allowmultiple(v=vs.110).aspx

これはHTML5に依存していると私は信じていることに注意してください。

そうでない場合は、Attributesプロパティを使用して、ページにレンダリングされるHTML属性を追加できます。

browser.Attributes["multiple"] = "multiple"

これは、WebサイトがHTML5を使用している場合にのみ機能します。

FileUploadから新しいクラスを派生させ、そのクラスにプロパティを追加してから、AddAttributesToRender(または他のrenderメソッドの1つ)メソッドをオーバーライドして、適切なHTMLを出力することもできます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コンストラクターに渡されたプロパティのみをシリアル化するにはどうすればよいですか?

分類Dev

コンストラクターに渡されたプロパティのみをシリアル化するにはどうすればよいですか?

分類Dev

Xamarinカスタムコントロール、Xcodeパネルに表示するプロパティを追加するにはどうすればよいですか?

分類Dev

プログラムで作成されたエンティティをデータサービスに追加するにはどうすればよいですか?

分類Dev

ネストされたプロパティでAngularJSフィルターを作成するにはどうすればよいですか?

分類Dev

コントローラMVCのモデルプロパティに必須を追加するにはどうすればよいですか?

分類Dev

Qt C ++のカスタムコントロールにプロパティを追加するにはどうすればよいですか?

分類Dev

フィルタまたはコントローラからWebViewPageプロパティに値を割り当てるにはどうすればよいですか?

分類Dev

グループ化/ネストされたプロパティを作成するにはどうすればよいですか?

分類Dev

NodeJSの文字列コンストラクターにグローバルプロパティを設定するにはどうすればよいですか?

分類Dev

Laravelベースのサーバーから.netC#ベースのクライアントにイベントをブロードキャストするにはどうすればよいですか?

分類Dev

プログラムで作成されたコンテンツビューを使用して、アクティビティにフラグメントを追加するにはどうすればよいですか。

分類Dev

C#UWP-プログラムで作成されたコントロールにアクセスするにはどうすればよいですか?

分類Dev

Reactクラスコンポーネントの追加プロパティを宣言するにはどうすればよいですか?

分類Dev

Gradleで生成されたpomファイルにプロパティセクションを追加するにはどうすればよいですか?

分類Dev

コレクションをネストされたコレクションプロパティの要素でグループ化されたグアバマルチマップに変換するにはどうすればよいですか?

分類Dev

継承されたプロパティをEFデータストアに動的に追加するにはどうすればよいですか?

分類Dev

ラティスとlatticeExtraで作成されたプロットに凡例を追加するにはどうすればよいですか?

分類Dev

プログラムで作成されたテキストフィールドを選択するにはどうすればよいですか?

分類Dev

プログラムでコントロールを含むパネルのクローンを作成するにはどうすればよいですか?

分類Dev

EFコードファーストクラスの特定のプロパティをDALの内部に作成するにはどうすればよいですか?

分類Dev

premake5を介して生成されたVisualStudioプロジェクトおよびソリューションにグローバルプロパティを追加するにはどうすればよいですか?

分類Dev

マングースから返されたオブジェクトからプロパティを削除するにはどうすればよいですか

分類Dev

オブジェクトのプロパティをWPFコントロールにバインドするにはどうすればよいですか?

分類Dev

TypeScriptコンパイラAPIを使用してTypeScriptクラスに新しいプロパティを追加するにはどうすればよいですか?

分類Dev

Symfony2-_localeに似たすべてのリクエストまたは生成されたURLのルーティングにグローバルパラメータを追加するにはどうすればよいですか?

分類Dev

クラスデコレータを使用してクラスに新しいプロパティを追加するにはどうすればよいですか?

分類Dev

コンストラクターでfinalクラスプロパティを初期化するにはどうすればよいですか?

分類Dev

WPFダイアログボックスでバインドする追加のプロパティを作成せずに、テキストボックスで検証ルールを使用するにはどうすればよいですか?

Related 関連記事

  1. 1

    コンストラクターに渡されたプロパティのみをシリアル化するにはどうすればよいですか?

  2. 2

    コンストラクターに渡されたプロパティのみをシリアル化するにはどうすればよいですか?

  3. 3

    Xamarinカスタムコントロール、Xcodeパネルに表示するプロパティを追加するにはどうすればよいですか?

  4. 4

    プログラムで作成されたエンティティをデータサービスに追加するにはどうすればよいですか?

  5. 5

    ネストされたプロパティでAngularJSフィルターを作成するにはどうすればよいですか?

  6. 6

    コントローラMVCのモデルプロパティに必須を追加するにはどうすればよいですか?

  7. 7

    Qt C ++のカスタムコントロールにプロパティを追加するにはどうすればよいですか?

  8. 8

    フィルタまたはコントローラからWebViewPageプロパティに値を割り当てるにはどうすればよいですか?

  9. 9

    グループ化/ネストされたプロパティを作成するにはどうすればよいですか?

  10. 10

    NodeJSの文字列コンストラクターにグローバルプロパティを設定するにはどうすればよいですか?

  11. 11

    Laravelベースのサーバーから.netC#ベースのクライアントにイベントをブロードキャストするにはどうすればよいですか?

  12. 12

    プログラムで作成されたコンテンツビューを使用して、アクティビティにフラグメントを追加するにはどうすればよいですか。

  13. 13

    C#UWP-プログラムで作成されたコントロールにアクセスするにはどうすればよいですか?

  14. 14

    Reactクラスコンポーネントの追加プロパティを宣言するにはどうすればよいですか?

  15. 15

    Gradleで生成されたpomファイルにプロパティセクションを追加するにはどうすればよいですか?

  16. 16

    コレクションをネストされたコレクションプロパティの要素でグループ化されたグアバマルチマップに変換するにはどうすればよいですか?

  17. 17

    継承されたプロパティをEFデータストアに動的に追加するにはどうすればよいですか?

  18. 18

    ラティスとlatticeExtraで作成されたプロットに凡例を追加するにはどうすればよいですか?

  19. 19

    プログラムで作成されたテキストフィールドを選択するにはどうすればよいですか?

  20. 20

    プログラムでコントロールを含むパネルのクローンを作成するにはどうすればよいですか?

  21. 21

    EFコードファーストクラスの特定のプロパティをDALの内部に作成するにはどうすればよいですか?

  22. 22

    premake5を介して生成されたVisualStudioプロジェクトおよびソリューションにグローバルプロパティを追加するにはどうすればよいですか?

  23. 23

    マングースから返されたオブジェクトからプロパティを削除するにはどうすればよいですか

  24. 24

    オブジェクトのプロパティをWPFコントロールにバインドするにはどうすればよいですか?

  25. 25

    TypeScriptコンパイラAPIを使用してTypeScriptクラスに新しいプロパティを追加するにはどうすればよいですか?

  26. 26

    Symfony2-_localeに似たすべてのリクエストまたは生成されたURLのルーティングにグローバルパラメータを追加するにはどうすればよいですか?

  27. 27

    クラスデコレータを使用してクラスに新しいプロパティを追加するにはどうすればよいですか?

  28. 28

    コンストラクターでfinalクラスプロパティを初期化するにはどうすればよいですか?

  29. 29

    WPFダイアログボックスでバインドする追加のプロパティを作成せずに、テキストボックスで検証ルールを使用するにはどうすればよいですか?

ホットタグ

アーカイブ