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

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

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

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

Q&A

解決済

1回答

1307閲覧

ASP.NET(C#)でカレンダーのlabelのIDを一意にしたい

ma-sato

総合スコア11

ASP.NET

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

0グッド

0クリップ

投稿2020/06/16 07:47

編集2020/06/16 08:23

前提・実現したいこと

asp.net(C#)でスケジューラを作ろうとしています。 カレンダーを作成し、それぞれのセルにlabel1,label2,label3...と IDを一意に作成したいのですが、実現する方法がわからず苦戦しております。 開発環境は以下の通りです。 vs2015 IIS asp.net4.8

発生している問題・エラーメッセージ

エラーメッセージ
パーサー エラー
説明: この要求の処理に必要なリソースの解析中にエラーが発生しました。以下の解析エラーの詳細を確認し、ソース ファイルに変更を加えてください。

パーサー エラー メッセージ: サーバー タグが正しく形成されていません。

ソース エラー:

行 31: <td><%=r %>
行 32: <br />
行 33: <asp:Label ID="Label"+<%=r %> runat="server" Text="Label"></asp:Label>
行 34: <br />
行 35: あいう

該当のソースコード

asp.net(C#) ソースコード <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="calenderMy.aspx.cs" Inherits="scheduler.calenderMy" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <link href="scheduler.css" rel="stylesheet" type="text/css" /> </head> <body> <h1>カレンダー(自分)</h1> <p><asp:Label ID="Label1" runat="server" Text=""></asp:Label></p> <p><asp:Label ID="Label2" runat="server" Text=""></asp:Label></p> <form id="form1" runat="server"> <div> <% DateTime dt = DateTime.Now; int days = DateTime.DaysInMonth(dt.Year, dt.Month); %> <table border="1"> <tr> <% for (int r = 0; r <= days; r++) { if (r % 7 == 0) {%> </tr> <tr> <% }else{%> <td><%=r %> <br /> <asp:Label ID="Label"<%=r %> runat="server" Text="Label"></asp:Label> <br /> あいう </td> <% } } %> </tr> </table> </div> </form> </body> </html>

試したこと

該当部分の<%= %>を<%: %>にして実行したり、
ID="Label"+<%=r %>としてみましたが駄目でした。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/06/16 07:54

何を作っているかと (ASP.NET Web Forms アプリであろうと想像はしてますが)、開発環境 (Visual Studio, .NET Framework のバージョンなど) を質問欄を編集して追記願います。
退会済みユーザー

退会済みユーザー

2020/06/16 07:59 編集

それから、一意の Label の「一意」とは具体的にどういう意味かを書いてください。ID のことと理解してますが、どのようになっていれば良いのでしょう?
ma-sato

2020/06/16 08:23

更新しました。 ご指摘ありがとうございます。
退会済みユーザー

退会済みユーザー

2020/06/17 06:39

質問者さんが無言になってしまいましたが、回答しているのでその回答に対するフィードバックを返してください。分かった・分からなかった、役に立った・立たなかったぐらいの返事はできるのでは?
ma-sato

2020/06/17 08:51 編集

確認のみで記入する時間が取れなかったので返事が遅れました。 記載していただいた内容で新たにプロジェクトを立ち上げて実施したところ、動作するのは確認できました。 checkboxをlabelにするところまではまだできていませんが、何とか形にできそうです。 ありがとうございました。
退会済みユーザー

退会済みユーザー

2020/06/17 09:08

> checkboxをlabelにするところまではまだできていませんが、何とか形にできそうです。 確認できたらクローズしてください、解決できなければ問題点を明らかにして質問してください。何にせよこのまま放置するのだけは止めてください。
guest

回答1

0

ベストアンサー

Calendar.DayRender イベントを使って、そのイベントハンドラで Label を動的に生成して Calendar のセル内に配置してはいかがですか?

以下の記事は CheckBox を Calendar.DayRender イベントで生成して配置しているものですが、これの応用で(CheckBox を Label に代える)で望むことができる思います。

CheckBox 付き Calendar コントロール
http://surferonwww.info/BlogEngine/post/2010/11/14/Calendar-control-with-CheckBox.aspx

上の記事の例では ID は当該セルの日付にしていますが、連番にすることも可能だとおもいます。(一意ということなら日付の方がよさそうですが)

投稿2020/06/16 09:13

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問