- - PR -
HyperLinkコントロールについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-03-12 02:09
お世話になります。
VS2005でWebアプリケーションを作成しています。 HyperLinkコントロールについての質問なんですが、 NavigateUrlプロパティにURLを指定すると、HTMLソースでは <a href="[NavigateUrlで指定したURL]">リンク</a> と、なると思います。 現在、モバイルのGPS機能を用いて位置情報を取得するアプリケーションを作成しているのですが、 DoCoMoでの位置情報を取得する場合、 <a href="[送り先URL]" lcs> と指定しなければなりません。 HyperLinkコントロールのNavigateUrlプロパティにて、 "http://test.co.jp/test.aspx lcs"と指定すると、 当然HTMLソースでは <a href="http://test.co.jp/test.aspx lcs">位置情報取得</a> となってしまい、「lcs」が""の中に入ってしまいます。 直接<a>タグを入れると、 <a href="http://test.co.jp/test.aspx" lcs>位置情報取得</a> 「lcs」の部分で有効な属性ではないとエラーがでます。 ASP.NETではこのような記述は無理なのでしょうか? どなたかわかる方、ご教授願います。 [参考:GPS携帯 位置情報 基礎知識] http://www.yaskey.cside.tv/mapserver/note/gps.html | ||||||||
|
投稿日時: 2008-03-12 10:37
代案になってしまいますが、Literalコントロールを使ってベタに書くというのも一つの方法だと思います。
フォームにLiteralを貼り付けてこんなコードを書けば、パーサーに検証されちゃったりせずに、HTMLにそのまんま出力されます。 | ||||||||
|
投稿日時: 2008-03-12 10:50
Page上にHyperLinkを置いてから上のコードを書いて実行したところ、
こんな風になりました。 | ||||||||
|
投稿日時: 2008-03-12 11:26
そか、rainさんのでOKですね。
docomoのサイトで確認したら、lcs属性さえ追加されていれば良いようですし。 #lcsは属性ではなく、特殊なlcs>という閉じ方なのかと勘違いしていました。 | ||||||||
|
投稿日時: 2008-03-12 20:44
回答ありがとうございます。
...大きなミスをしていました。 モバイルWebアプリケーションなので、「HyperLink」ではなく「Link」でした。。。 Linkコントロールにも「Attributes.Add」のような「CustomAttributes.Add」というものがありました。 MSDNをによると、カスタム属性を有効にする必要があるらしく、web.configに以下のように <mobileControls cookielessDataDictionaryType="System.Web.Mobile.CookielessData" allowCustomAttributes="True"/> しました。 エラーが出ず、実行はできたのですが、ソースをみると(iモード HTMLシミュレータU) 「lcs」という属性は表示されていませんでした。。。 | ||||||||
|
投稿日時: 2008-03-17 23:09
カスタムアトリビュートで設定後 Chtml 用の Link Adapter を作成してあげる必要があります。 ASP.NET でモバイルの開発をするなら一度目を通しておくと幸せになれるかも http://www.atmarkit.co.jp/fdotnet/aspnetmobile/aspnetmobile01/aspnetmobile01_01.html ---追記 役には立つけれど幸せ...じゃぁないかな... _________________ かるあ のメモ と スニペット [ メッセージ編集済み 編集者: かるあ 編集日時 2008-03-17 23:10 ] |
1