spacer
spacer
開発者の談話室

携帯: 2008年8月アーカイブ

問題:
 ASP.NETで携帯向けアプリケーションを作成すると、最近のAU端末ではinputタグに初期の入力文字を指定するための、formatやistyle属性が表示されません。

例:
ASPXファイルの記述
<asp:TextBox istyle="3" ID="TB_Mail" runat="server" />

原因:
 Up.BrowserのVersion6以降では、HTMLレンダリングにSystem.Web.UI.XhtmlTextWriterが用いられているため、istyleなどの非正則属性を除去してしまう。

対策:
 Html32TextWriterもしくはChtmlTextWriterを利用するように設定する。
VS2005以降で開発しているのでしたら、App_Browsersフォルダを追加して、KDDI AU用の定義ファイルを作成してください。

例: <browsers / / /> <browser refid="Up" / / /> <capabilities> <capability name="supportsInputIStyle" value="true" /> </capabilities> <controlAdapters markuptextwritertype="System.Web.UI.ChtmlTextWriter" /> </browser> </browsers>

デフォルト定義されている%Windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers\ 内部のopenwave.browserファイルの407行目を直接編集した場合は、コマンドプロンプトから「aspnet_regbrowsers.exe - i」を実行してください。

<controlAdapters markupTextWriterType="System.Web.UI.XhtmlTextWriter" />
↓変更
<controlAdapters markupTextWriterType="System.Web.UI.ChtmlTextWriter" />

参考情報: 

 MSDN ブラウザ定義ファイルのスキーマ

 



 
spacer
spacer