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

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

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

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

Q&A

解決済

3回答

3519閲覧

ボタンの中のテキストを2行にして、2行目のフォントサイズを変えたい

piropiropiro

総合スコア15

ASP.NET

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

0グッド

0クリップ

投稿2018/12/20 00:25

編集2018/12/20 00:39

ASP.NETでリンクボタンの中のテキストを2行にして、かつ2行目のフォントサイズを小さくしたいです。
今現在リソースファイルから取ってきた文字列を連結させて、どうにかしようと考えている状況です。(まだ連結もできていないです)

aspx

1<asp:LinkButton ID="sample" Text="<%$ Resources:Resources, sample1 %>" + "<%$ Resources:Resources, sample2 %>" runat="server" OnClick="123"></asp:LinkButton> 2

分かる方おりましたらご教授願います。

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

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

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

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

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

kariya

2018/12/20 02:32

リンクボタンにこだわるのは、何か理由がありますか? 例えばHTML要素であっても```runat="server" id="hoge"```などの属性を付加してやれば、サーバーコントロールとして操作することができますよ。 サーバーサイドのイベントに紐づけたい場合は```onserverclick="link_Click"```で動くのかなと思いますが。 これを利用すれば、通常の```<a></a>```や```<button></button>```などのタグが使えるので、二段組も可能ですし段ごとにスタイルを適用するのも難しくないと思いますが。
piropiropiro

2018/12/20 02:49

初めはリソースで改行付の文字列を定義して、それをテキストとして表示しようと思ったのですが、<button>だとうまく改行されず、<LinkButton>に設定したらうまくいったので、改行するには<LinkButton>にしないといけないと思い、そのままにしていました。 <button>のままでできるならそれがいいです。
退会済みユーザー

退会済みユーザー

2018/12/20 03:19

<button> とは html の button ですか? それとも、ASP.NET の Button コントロール? クリックしたらポストバックする必要があるということですか?
piropiropiro

2018/12/20 04:09

>>SurferOnWwwさん buttonはASP.NETのButtonコントロールです。 ボタン自体は、ただ画面を移動するだけでデータをポストする必要はないので、 ポストバックする必要はないと思われます(意味が間違っていたらすいません)
退会済みユーザー

退会済みユーザー

2018/12/20 04:28

ASP.NET の Button コントロールは html になると input type="submit" なります。なのでテキストの改行はできないかと。
piropiropiro

2018/12/20 05:02

submitだから改行できなかったんですね。 ASP.NETからHTMLに変換されるときの知識がまだ不十分でした。。。 ありがとうございます。
guest

回答3

0

ベストアンサー

LinkButton コントロールが ASP.NET によって html に変換されると a 要素になるので、a 要素に適用できるスタイルであれば何とでもできます。

テキストを2行にして、かつ2行目のフォントサイズを小さくしたいです。

ということであれば、<a href="..."></a> の間に入れるテキストをそのようにすればいいです。

その場合 LinkButton.Text プロパティではなく <asp:LinkButton></asp:LinkButton> の間にテキストを設定します。以下のような感じです。

<asp:LinkButton ID="LinkButton1" runat="server"> <span style="font-size:small">Link</span> <br /> <span style="font-size:large">Button</span> </asp:LinkButton>

そうすると html ソースは以下のようになって、希望通り改行と文字の大きさが設定できるはずです。

<a id="MainContent_LinkButton1" href="javascript:__doPostBack(&#39;ctl00$MainContent$LinkButton1&#39;,&#39;&#39;)"> <span style="font-size:small">Link</span> <br /> <span style="font-size:large">Button</span> </a>

投稿2018/12/20 03:12

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

piropiropiro

2018/12/20 04:12

これを参考にfont-sizeの大きさを調節して、文字列の部分にLiteralを埋め込んで リソースから文字列を取り出すことができ、無事作業を終えることができました。 詳しく教えていただきありがとうございました。
退会済みユーザー

退会済みユーザー

2018/12/20 08:34

このスレッドの問題は解決したでしょうか? であればクローズ願います。 もしまだ未解決事項があれば、それを書いてください。
guest

0

<button runat="server" id="ボタンのID" onserverclick="サーバーサイドのクリックイベント名"> <span style="">いちぎょうめ<br></span> <span style="">2行目</span> </button>

とするといかがでしょうか?
サーバーサイドのクリックイベントが無い場合は、

onserverclick="サーバーサイドのクリックイベント名"

を消してください。

<br>無しでも改行する方法はあるのですが、一旦簡単なこの手法で。

<asp:Button ID="btnId" runat="server" Text="いちぎょうめ<br>2行目" />

↑このコントロールでは出来ないので注意してください。

投稿2018/12/20 02:57

kariya

総合スコア75

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

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

piropiropiro

2018/12/20 04:22

kariyaさん回答ありがとうございます。 kariyaさんの方法でも、きちんと動作しました。 ASP.NETだけでなく、HTMLももう少し勉強してみようと思います。 ありがとうございました。
guest

0

リンクボタンにこだわるのは、何か理由がありますか?

例えばHTML要素であってもrunat="server" id="hoge"などの属性を付加してやれば、サーバーコントロールとして操作することができますよ。
サーバーサイドのイベントに紐づけたい場合はonserverclick="link_Click"で動くのかなと思いますが。

これを利用すれば、通常の<a></a><button></button>などのタグが使えるので、二段組も可能ですし段ごとにスタイルを適用するのも難しくないと思いますが。

投稿2018/12/20 02:33

kariya

総合スコア75

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問