- - PR -
サイトをMobileとDesktop双方に対応させるには
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-04-15 13:44
MobileとDesktop双方に対応したWeb Siteを構築するには
ASP.NETとMobile Internet Toolkit を利用することによりDesktop/Mobile双方に対応したWeb Siteを構築することができます。 Desktop/Mobileの振り分けは、Default.aspx ファイルに次のコードを挿入することにより可能です。 この例では、Mobileデバイスのときは MobileDefaut.aspx、IEなどのDesktopのブラウザのときは、DesktopDefault.aspx を呼び出します。 Default.aspx
MobileDefault.aspx
DesktopDefault.aspx
Default.aspx をクリックするとWelcome to The Desktop Web Site! が表示されます。 MobileデバイスからDefault.aspx ファイルを開くとWelcome to The Mobile Web Site! が表示されます。 Mobile からは、 http://64.251.201.45/dotnet/webCtrl/mobile/Default.aspx のURLを入力してください。 Web SiteをMobile対応にすることにより、「いつでも、どこでも」利用できる次世代のアプリケーションを開発することができます。 Happy Programming! Akio Kasai [ メッセージ編集済み 編集者: Dr ADO.NET 編集日時 2002-04-17 23:26 ] | ||||||||||||
|
投稿日時: 2002-04-15 15:51
宇田です。
i-mode対応機種では、相対パスでのリダイレクト処理がうまくいかないので、 (最新機種でどうなっているかは知りませんが、私のN502iはそうです。) Server.Transfer を用いるか、フルパスでリダイレクトをしたほうがいいかもしれません。 | ||||||||||||
|
投稿日時: 2002-04-15 16:36
> フルパスでリダイレクトをしたほうがいいかもしれません。
私のN209でもそうです<古すぎる? ASP.NETでは、Web.Configに次の設定をすることで自動的にフルパス化してくれます。
転送効率などを考えると、ほとんどの場合はモバイル用とデスクトップ用でWeb.Configを分けたほうがいいでしょう。 さらに言うなら、モバイル用のWeb.ConfigにShift-JISエンコーディングを指定しておかないとi-modeに対応が、世の中のデバイスにはShift-JISが読めないものもあるでしょう。そうなると、それごとにWeb.Configを分けるか、コードを書き分けなければなりません。 つまりモバイルって、言われているほど簡単ではないってことです。MMITを使えばそれでもうOK!ってわけにはいかないようです。<経験上 | ||||||||||||
|
投稿日時: 2002-04-17 22:03
貴重なご意見ありがとうございます。MMITは、これから評価する予定です。 | ||||||||||||
|
投稿日時: 2002-05-02 15:39
Desktop のブラウザは、Cookie をサポートしていますが、ほとんどのMobile 系のブラウザは Cookie をサポートしていません。 したがって、Mobile 対応のWebページを作成するときは、Web.Config に sessionState cookieless="true"を指定する必要があります。
cookieless session にするとASP.NET は、url の一部にsession ID を埋め込みます。 http://mysite/(ss7ds39dsslhuk38)/mypage.aspx urlの()で囲まれた部分が session ID です。ASP.NETは、ページ間でこのsession IDを 継承することによりsession 情報を管理します。 cookieless session機能を使用したときは、url の一部に session ID を埋め込むため次の制約があります。 ・フルパス指定のurlは使用できません。 (すべてのurlは相対パスを指定する必要があります。) ・この制約は、form タグや、redirectにも適用されます。 例: 正常ケース <a href="mypage.aspx">Click Here</a> <a href="mydir/mypage.aspx">Click Here</a> <a href="../mypage.aspx">Click Here</a> 例:エラーケース <a href="/mypage.aspx">Click Here</a> <a href="http://mysite.com/mypage.aspx">Click Here</a> i-mode を使用した場合の仕様と、ASP.NET の Cookieless session の仕様が 矛盾するようです・・・ どなたか解決方法がありましたら教えてください。 [ メッセージ編集済み 編集者: Dr ADO.NET 編集日時 2002-05-02 19:14 ] |
1