アプリ版:「スタンプのみでお礼する」機能のリリースについて

皆さん、教えくれませんか?
ASP.NETでのテキストボックスにデータを設定する時、
もし、設定データの中にHyperLink(http://wwwなど)があったら、自動的にHyperLinkとして表示してほしいです。それに、ユーザーがそのHyperLinkにマウスでクリックする時、飛び先へ遷移とする。

その機能だけほしいですが、誰か教えくれませんか?
ありがとうございます!

A 回答 (1件)

そもそも ASP.NET で言うところの "テキストボックス" って何種類かあるけれど、実行してブラウザに表示されるときは Input や Textarea として表現されるでしょ。

これらのタグってハイパーリンクはサポートしてないから。
ブラウザ上でハイパーリンクを表現するのは a タグですよ。
んで ASP.NET のコントロールで最も簡単なのは HyperLink コントロールなわけで。

フォーム上に HyperLink コントロールを配置し、ID を "HyperLink1" とする。
適当なイベント(Page_Load か?)にて
string url_regX = @"\b(?:https?|shttp)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)*)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?";

string source = "http://www.yahoo.co.jp";

this.HyperLink1.Text = source;
if (System.Text.RegularExpressions.Regex.IsMatch(source,url_regX))
{
this.HyperLink1.NavigateUrl = source;
}

とするとか。
実際に使用する際には変数 source に質問文で言うところの "データ" を入れてあげる。

正規表現のパターン部分は web から適当に拾ってきたものなのでホントにこれで url を判断してくれるかどうかまでは責任持てません。。。ご自分で研究してみてください。
http://www.google.com/search?num=50&hl=ja&q=c%23 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!