• 締切済み

プラグインを使用してページを追加

現在ASP2.0(Visual Web Developer 2005 Express Edition)を使用して、Webアプリケーションを作っています。 もともとはWindowsアプリケーションで作成していた画面をWeb用に作り直しているのですが、Windowsアプリケーションではプラグインを使って画面の動的(ビルドせずに)追加・削除を行っていました。 (参考にしたのは http://www.atmarkit.co.jp/fdotnet/practprog/wisearch01/wisearch01_01.html) これと同じようなことをASP.NETでも実現したいのですが、仮想ディレクトリやセッション情報の問題もありそうですし、実現方法が浮かばずに困っています。 いい方法をご存知の方、よろしくお願いします。

  • punio
  • お礼率94% (33/35)

みんなの回答

回答No.1

お世話になります。 単純に DataList を使ってやるのは どうなんでしょうか。 ■aspx <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">   <title>test page</title> </head> <body>   <form id="form1" runat="server">   <div>     <asp:DataList ID="DataList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal">       <ItemTemplate>         <asp:Image ID="myImage" runat="server" />       </ItemTemplate>     </asp:DataList></div>   </form> </body> </html> ■コードビハインド Partial Class _Default   Inherits System.Web.UI.Page   Private m_imagePath As String() = New String() { _   "http://images.google.com/images?q=tbn:GxbZnaLq2Om7iM:www.discount-software.ws/discount-software-images/microsoft-visual-basic-6-enterprise-edition.jpg", _   "http://images.google.com/images?q=tbn:jBU47ru3uA20QM:www.cygnal.co.kr/benvb.gif", _   "http://images.google.com/images?q=tbn:GxbZnaLq2Om7iM:www.discount-software.ws/discount-software-images/microsoft-visual-basic-6-enterprise-edition.jpg", _   "http://images.google.com/images?q=tbn:jBU47ru3uA20QM:www.cygnal.co.kr/benvb.gif", _   "http://images.google.com/images?q=tbn:GxbZnaLq2Om7iM:www.discount-software.ws/discount-software-images/microsoft-visual-basic-6-enterprise-edition.jpg", _   "http://images.google.com/images?q=tbn:jBU47ru3uA20QM:www.cygnal.co.kr/benvb.gif" _   }   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load     If Not IsPostBack Then       Me.DataList1.DataSource = Me.m_imagePath       Me.DataList1.DataBind()     End If   End Sub   Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound     If Not e.Item.FindControl("myImage") Is Nothing _      AndAlso Not e.Item.DataItem Is Nothing Then       Dim ctrl As Image = DirectCast(e.Item.FindControl("myImage"), Image)       Dim urlString As String = DirectCast(e.Item.DataItem, String)       ctrl.ImageUrl = urlString       ctrl.DataBind()     End If   End Sub End Class

punio
質問者

お礼

ありがとうございます。Webが見れない環境にいたもので、お礼が遅れてしまって申し訳ありません。 サンプルソースまで付けていただいて、非常にためになりました。(DataListなんて使ったこと無かったし・・・) ただ私の質問文がまずく正しく質問が伝わらなくて申し訳なかったのですが、@ITで参考にしたのは「共通のインタフェースをもつDLLを起動時に検索し、GUIに追加する」という部分だけでして・・・。 同じような方法で、共通部分は一つで、プラグインDLLによって表示内容追加が出来ないものかという物でした。 本当に申し訳ありません。 (ただこの例は本当に参考になりました)

関連するQ&A

  • VB2008を使用せずWebアプリケーションを実行する方法

    開発環境:Visual web Developer 2008 ExpressEditon(VB) デフォルトのASP.NET開発サーバは、Developer2008でWebアプリケーションを実行した場合に自動的に起動して、アプリケーションを閉じると終了してしまいます。 これだと手順が面倒なので、Developerで実行せずに、開発サーバ単体を起動する方法を探しています。 希望としては、パソコンが起動したら開発サーバが自動で起動し、IEのお気に入りに登録してあるURL(http://localhost:△△△/○○○.aspx)からWebアプリに行く、という感じがベストです。 自動起動でなくてもショットカットからの起動でもかまいません。 方法が分かる方がいましたらご助言お願いいたします。 追記 VS2005の方法は下記のようにやるみたいです。 developerだと「WebDev.WebServer.EXE」が存在しないらしく?、下記の方法ではできませんでした。 http://www.atmarkit.co.jp/fdotnet/dotnettips/405webserver/webserver.html

  • ユーザーにプラグインを追加させるという考え

    プラグイン機構を用いたWebシステムを作成中なんですが、 人によっては運用後に、独自にプラグインを組み込みたい という人が出てきています。 つまりよくプラグイン式のクライアントアプリケーションの Web版です。 システムとしては出来上がっていて、個人で使い勝手の良い ものを自分で組み込みたいようです。 ちょっと考えた所、『ユーザープラグイン取り込み処理』なるもの を作れば可能ですが、多数の利用者がいるWebの特性上、不可能 という結論に達しました。(悪意のあるスクリプトの存在、 それでなくても情報の漏洩) そこで個人的にそういった機構に興味を持ちまして、何か実現方法 はあるのでしょうか? メタプログラミング?とかで制限されたプラグイン用の仕様を作る、 とかでしょうか?

    • 締切済み
    • PHP
  • レガシーaspのデバッグ

    「Visual Web Developer 2010」でレガシーaspのデバッグをしたいのですが、 どうやってすればよいのでしょうか? 2008ならできそうな投稿をみつけたのですが、「Visual Web Developer 2010」では見つけることができませんでした。実践された方、是非教えていただけないでしょうか? また、Visual Web Developer 2010のヘルプが.net向けの為、レガシーaspで使える部分がよくわかりません。レガシーaspで使える操作周囲のわかりやすい入門書や手引きがないでしょうか?

  • IISの仮想ディレクトリ作成がわかりません。教えて下さい。

    こんにちわ。 Web Developerにて作成したASP.NETアプリケーションをWEBサーバに配置して実行した所、以下のエラーが表示されました。 -----------------------------エラー内容始まり---------------- '/WEB' アプリケーションでサーバー エラーが発生しました。 -------------------------------------------------------------------------------- 構成にエラーがあります。 説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。 パーサー エラー メッセージ: アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されているセクションを使うことはできません。このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されなかった場合に発生します。 ソース エラー: 行 53: を有効にします。 行 54: --> 行 55: <authentication mode="Windows"/> 行 56: <!-- 行 57: <customErrors> セクションは、要求の実行中にハンドル ソース ファイル: D:\web\test\sample\web.config 行: 55 -------------------------------------------------------------------------------- バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.42; ASP.NET バージョン:2.0.50727.210 ---------------------------------エラー内容 終わり------------------------------- なので仮想ディレクトリを作り直してみましたが結果は同じです。 手順は以下の通りです。 1、スタートメニューより [インターネットインフォメーションサービス (IIS) マネージャ] を選択する 2、画面左側のツリーから「規定の Web サイト」を右クリックして、[新規作成] → [仮想ディレクトリ] を選択する 3、「仮想ディレクトリの作成ウィザード」でエイリアスを入力し、[次へ] をクリック。 4、仮想ディレクトリを指定する   3で入力したエイリアスの仮想ディレクトリの場所を指定します。 5、アクセス権を設定する (ASPなどのスクリプトを実行するにチェック) 6、ウィザードを完了する。 環境はWindows2000サーバー IIS5.0です。 SDKは入っておりません。。。 お気づきの点がありましたらご教示下さいませ。 宜しくお願い致します。

  • HTMLデザイナが・・・Visual Web Developer 2008 Express Edition

    VS2002 2003 を日々使っています。 VS2008に興味を持ち、 Visual Web Developer 2008 Express Editionを使って見たのですが ASP.NET C#.net  ASP画面の構築時、以前のVSだと、各コントロールを 画面上にセットするだけで、自在に好きな場所に配置出来たのに Visual Web Developer 2008 Express Editionは、必ず、左端に 配置されて仕舞います。 これは設定可能なのでしょうか? 配置に関する考え方が変わったのでしょうか?

  • excelでWebページ保存のマクロについて

    マクロでWebページ保存をボタン1つでできるようにしたのですが、ファイルの場所を変えると、ディレクトリが違うので使えません。 visual basicの画面で、ディレクトリが絶対参照になっている為かと思うのですが、(このようになります。Filename = "C:\WINDOWS\デスクトップ\ファイル名.html") 相対参照にする方法はあるでしょうか。

  • ASP.NET 2.0 で作成した Webアプリケーション を配布する

    ASP.NET 2.0 で作成した Webアプリケーション を配布するのに困っています。 作成したWebアプリをユーザーに別のコンピュータ(Windows Server 2003/2008)にインストールさせたいのですが、ユーザーでのインストール作業をなるべく簡単にするために、 ・ファイルのコピー ・仮想ディレクトリの作成 ・セキュリティの設定 などをセットアッププログラムで行わせたいと考えています。 このような事が実現できるインストーラ作成ソフトあるいはその他の技術などはないでしょうか? できれば有償でなく無償のツールで行いたいと考えています。 WMI など使えばできそうだとは思うのですが、なるべくお手軽に実現できる方法を探しています。 よろしくおねがいします。

  • 複数Webサーバーでのセッション共有

    よろしくお願いいたします。 Win2003 IIS6.0上で、ASP.NetではなくASPでアプリケーションを作成しています。 Webサーバーは2台構成でロードバランサーで負荷分散されております。(どちらもIIS6.0) ロードバランサーの設定がどうなっているかはよくわからないのですが、同一ユーザーは同一サーバーに振るといった設定がなされていないようで、リクエストに応えるサーバーがリクエストのたびに異なるという現象が起こっています。 ですので、前画面と異なるサーバーがリクエストに応えたときにセッション変数の値が取得できないという事態に陥っています。当然なのですが。。。 訳あって、ロードバランサーの設定は変更できないので、IISかアプリケーション側で解決する必要があるのですが、調べていると、「State Service」なるものを発見しました。 http://www.atmarkit.co.jp/fdotnet/dotnettips/183aspsesout/aspsesout.html 本番機なのでうかつに試すわけには行かないのですが、 ASPアプリケーションのセッション管理にも「State Service」は有効でしょうか?ASP.Netアプリケーションは・・・というような説明書きでしたので、質問させていただきました。 ご存知の方がいらっしゃいましたらご教示ください。

  • プラグイン式のツールを作成するには?

    Javaに限らずなのですが、今回、私が利用しようとしている言語が Javaなのでこちらに投稿させて頂きました。 ソフトウェアで、よくプラグイン式のものを見かけます。 フリーウェアで言えばEclipse、GPLライセンスのWebツールなら XOOPS、MovableTypeなど(ちょっとイメージ違うかもしれませんが)。 そういったプラグイン式のアプリケーションを作成するには 一体どうしたら良いのでしょうか? 考えてはみたものの、方法が見つかりません。 1.ディレクトリ走査でファイルを探査?   めちゃくちゃ時間かかりそうな予感。 2.見つけたとしてもどうやってメインプログラムから呼び出すのか?   そのファイルがある時もない時も可能性がある。 勿論、プラグインの作成方法は固定であったとしても、 やはりどう呼び出すのか見当も付きません。 どなたかご教示願います。

    • ベストアンサー
    • Java
  • Visual Web Developer2005について

    今回WEBを使用した、データベースプログラミングをかんがえております。 ASP・CGI等の方法もあったのですが、 作成段階で、デバッガ機能が無いのが(テキストエディタで作成しました)一番のネックになり、 色々しらべたところ、この開発ソフトにいきあたらいました。 そこで質問ですが、MicrosoftのVisual Web Developer で作成をかんがえておりますが、googleなどでしらべてみても、サンプルなどがおいてあるページがなく、 なかなかとっつけません。 やはり、Visual Web Developerは、あまりつかわれないのでしょうか? みたところデバッガ機能などもあり、つかいやすいような気がするのでしょうが・・・・ また、Visual Web Developerよりもこれがいいって 情報がございましたら、アドバイスの程よろしくお願いします。

専門家に質問してみよう