- - PR -
Visual Studio 2003へのTreeView Webコントロールの追加について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-03 17:27
初めて投稿します。
説明がかなり長くなってしまっております。 宜しくお願い致します。 アットマークITのTreeViewコントロール追加の記事http://www.atmarkit.co.jp/fdotnet/dotnettips/283asptreeview1/asptreeview1.html を参考に、TreeView.aspxを試したところ、 System.Xml.XmlException: ルート レベルのデータが無効です。 行 1、位置 1 です というエラーが出て動作しませんでした。 そこで、本掲示板の他のスレッド http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=25559 を参考に以下のように書き換えたところ、TreeViewを使うことができるようになりました。 <%@ Page ContentType="text/html"%> <%@ Register TagPrefix="ie" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %> <script language="vb" runat="server"> Sub Page_Load() Me.tree.TreeNodeSrc = Server.MapPath("sitemap.xml") Me.tree.DataBind() End Sub </script> <html> <head> <title>TreeViewコントロールでツリー表示</title> </head> <body> <form runat="Server"> <ie:TreeView id="tree" runat="Server" SystemImagesPath="/webctrl_client/1_0/treeimages"> <ie:TreeNodeType Type="Folder" ExpandedImageUrl="/webctrl_client/1_0/images/folderopen.gif" ImageUrl="/webctrl_client/1_0/images/folder.gif" /> <ie:TreeNodeType Type="File" ImageUrl="/webctrl_client/1_0/images/html.gif" /> </ie:TreeView> </form> </body> </html> しかし、上記はNotePadなどで単一のaspxファイルで記述した場合のみ動作します。 Visual Studio 2003を使って上記と同じコードを記述してWebアプリケーションを作成する場合は、追加したTreeViewコントロールを認識せず、TreeView.aspxのデザイン画面では「コントロール作成エラー」がでます。よって当然ながらTreeView.vbのコード画面では"Me.tree.TreeNodeSrc ...."といった記述ができないためビルドエラーとなります。 <%@ Import Namespace="Microsoft.Web.UI.WebControls" %> を追加しても認識してくれません。 マイクロソフトのページ http://support.microsoft.com/default.aspx?scid=kb;ja;319441 によると、 WebControlsをダウンロードすれば、ツールボックス設定画面の「.NET Framework コンポーネント」一覧に名前空間がMicrosoft.Web.UI.WebControls のTreeViewチェックボックスが現れるはずなのですが、今の私のVisual StudioではWebControlsをインストールしたにもかかわらずSystem.Windows.Formsしか表示されておりません。 このような場合、私はTreeViewコントロールのインストールに失敗しているのでしょうか? Visual Studioをお使いの方、WebフォームツールボックスからTreeViewをドラッグ&ドロップでデザイン画面に配置することができるのでしょうか? 以上、宜しくお願い致します。 | ||||
|
投稿日時: 2006-03-04 22:05
DLL を規定の位置に置いて、参照の追加をしましたか?
その後、ツールボックスにもコントロールの追加をしてみてください。 ソースコードより、あなたが行った手順の方が重要だと思います。 〆 written by Jitta@わんくま同盟 on 2006/03/04 | ||||
|
投稿日時: 2006-03-06 13:46
Jittaさん
回答を有り難うございました。 ご指摘頂きました通りに、参照設定の追加が抜けておりました。 追加しましたところ、System.Xml.XmlExceptionエラーはそのまま ですが、Page_Load()でXMLソースコードをDataSourceに割り当てる 方法ならTreeViewコントロールを認識できるようになりました。 有り難うございました。 >> その後、ツールボックスにもコントロールの追加をしてみてください。 こちらは残念ながら未だに解決できておりません。 ツールボックスへのコントロール追加画面において、 TreeViewコントロールはWindows.Forms名前空間のみで、 Microsoft.Web.UI.WebControls名前空間のものが 選択リストに現れません。 コントロールの配置にドラッグ&ドロップが使えないだけで、 HTMLに直接TreeViewを書き込めば問題はありませんので、 これで取りあえずは先に進めそうです。 有り難うございました。 | ||||
|
投稿日時: 2006-03-06 18:27
GAC に登録されていないだけかな? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-03-07 06:20
ツールボックス上で右クリック、[アイテムの追加と削除]→[参照]ボタン→Microsoft.Web.UI.WebControls.dll を選択。
|
1