質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

5237閲覧

aspxで<ul><li>タグを動的に生成したい

deranail

総合スコア14

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2020/10/19 01:27

編集2020/10/19 02:18

お世話になっています。

現在、以下環境下にてWebサイトの開発をしております。
・VisualStuido2015
・C#
・aspx Webフォームを利用してWebサイトの開発
・FrameWork ヴァージョン:4.5

今までは、データベースからデータを取得→検索結果を表示する際、
GridViewを使用してtableとして表示していましたが、
tableではなく ulとliタグを使用した出力結果にしないといけなくなりました。

ulとliをWebフォーム上に
動的に書く方法は何かありますでしょうか?
現状、tableの作成は、GridViewにDataTablebのデータをBindして作成しています。

※現状出力されるタグと、要求事項を下記に追記しました。

現状:

<table> <tr> <td>メーカー1</td> <td>商品1</td> <td><a href="#" class="">商品リンク</a></td> </tr> <tr> <td>メーカー2</td> <td>商品2</td> <td><a href="#" class="">商品リンク</a></td> </tr> </table>

要求事項:
<ul >
<li>
<div class="value value--maker">メーカー1</div>
<div class="value value--type">商品1</div>
<div >
<a href="#" class="">商品リンク</a>
</div>
</li>
<li>
<div class="value value--maker">メーカー2</div>
<div class="value value--type">商品2</div>
<div >
<a href="#" class="">商品リンク</a>
</div>
</li>
</ul>

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/10/19 01:59

.NET Framework のバージョンを書いてください。2.0, 3.5, 4, 4.5 以降で大きな違いがあります。 具体的に、元のデーターベースのテーブルの構造・データと、それを ul と li タグを使ってどのように表示したいのかのサンプルを書いてください。 質問欄を編集して追記してください。
退会済みユーザー

退会済みユーザー

2020/10/19 02:25

Repeater か ListView を使うのは OK ですか? ページングなどは必要ですか?
deranail

2020/10/19 02:47

ページングは必要ありません。 Repeater、ListViewもどちらも使うのは問題ないと思います。 両コンポーネントを調べてみましたが、 ページングが不要であればどちらが推奨とかありますでしょうか? ListViewの方が今回の件だとコーディング量は少なそうですが。
退会済みユーザー

退会済みユーザー

2020/10/19 02:54

> Repeater、ListViewもどちらも使うのは問題ないと思います。 それも質問欄を編集して追記お願いします。 > ページングが不要であればどちらが推奨とかありますでしょうか? ASP.NET 3.5 以降が使えるなら ListView がお勧めです。回答欄に案を書いておきます。
guest

回答1

0

ベストアンサー

ASP.NET 3.5 以降が使えるなら ListView を使うのがお勧めですので、以下にその場合のやり方を書いておきます。

SqlDataSource と ListView を使った例です。データベースは Microsoft のサンプルデータベース Northwind を使っています。

質問者さんの DB は不明ですが、LocalDB, Access, MySQL, Oracle などでも SqlDataSource は使えるので、とにかくまずは SqlDataSource + ListView で作ってみてください。カスタム化が必要ならそれを見てから考えることをお勧めします。

SqlDataSource と ListView をツールボックスからドラッグ&ドロップしたら、まず SqlDataSource の設定を行ってください。それがないと Visual Studio のデザイナが動きませんので。

SqlDataSource の設定が完了したら、Visual Studio のデザイン場面で ListView タスクを開き、[データソースの選択]を設定してから[ListView の構成]ダイアログを開き[レイアウトの選択]に「箇条書き」を選択します。「箇条書き」は ul, li 要素での表示になります。

イメージ説明

その結果、aspx ソースは以下のようになるはずです。自動生成されたコードから ItemTemplate, LayoutTemplate 以外は削除しているので注意してください。

イメージ説明

これをブラウザに表示すると以下のようになります。

イメージ説明

その html ソースは以下の通り。

イメージ説明

そこまで完成してデータが表示されることが確認出来たら、div 要素とか a 要素に設定するのは aspx ソースを編集して以下のようにすれば望むことができるはずです。

イメージ説明

投稿2020/10/19 03:31

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

deranail

2020/10/19 04:17

回答ありがとうございました。 まさに探していた内容はこれでした。 丁寧な解説、ありがとうございました。大変感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問