Wizard中のCustomValidatorコントロールが効かない
Wizard中のCustomValidatorコントロールが効かない場合は、
WizardStepのStepTypeがStart,Stepであるかチェックする。
Finishとかだと効かないで、次のステップに進んでしまう。
Wizard中のCustomValidatorコントロールが効かない場合は、
WizardStepのStepTypeがStart,Stepであるかチェックする。
Finishとかだと効かないで、次のステップに進んでしまう。
携帯電話向けのモバイル用ASP.NETでも、多国語化が可能だ。ただし、自動的にリソースファイルを生成する機能は無いので、自分でやる必要がある。
各ページで、ページ言語(カルチャー)を書き換える必要がある。これはMobile.Pageから派生させたクラス(例:ExtraMobilePage)を作成して共通関数を記述し、各ページはそのクラスから継承するようにすれば簡単にできる。
public class ExtraMobilePage : System.Web.UI.MobileControls.MobilePage
{
protected override void InitializeCulture()
{
String selectedLanguage = "ja-JP";
if (Session["Language"] != null)
{
selectedLanguage = (String)Session["Language"];
}
UICulture = selectedLanguage;
Culture = selectedLanguage;
base.InitializeCulture(); ;
}
}
リソースファイルのプログラムでの利用
GetLocalResourceObject("<リソースのキー名>").ToString()
リソースのキー名は、ソースコードのmeta:xxxxxxxを参照すること。基本はコントロール名+プロパティだが、TextBox1Resource.Textのように、Resourceが付いたものになる。
.Textの一部を置換させて表示させたい場合も、上記のリソース参照を使う。TextBox1.Text.Replace(...だと、元のTextBox1.Textを参照するので、意図した結果が得られない。
これでブラウザが英語なら、英語のページが表示される
下記を参照
http://d.hatena.ne.jp/m-tanaka/20070509#p1
補足
プログラムは、別なライブラリ(下記だとMobileWebAdapter)にするようだ。(普通のクラスだと、呼び出し方が良く分からない)
<device name="exHTMLDeviceAdapters" inheritsFrom="ChtmlDeviceAdapters">
<control name="System.Web.UI.MobileControls.Form" adapter="MobileWebAdapter.CHTMLUtnFormAdapter,MobileWebAdapter"/>
テストは、携帯電話プラウザ(エミュレータでもOK)で行う。ディスクトップのブラウザでは、反映されない(当然なのだが、忘れてしまいがち)
下記を参照
http://d.hatena.ne.jp/m-tanaka/20070509
補足
web.configの例
<control name="System.Web.UI.MobileControls.TextBox" adapter="MobileWebAdapter.IStyleSupportTextBoxAdapter,MobileWebAdapter"/>
フォーム認証の有効期限は、Web.configのauthenticationにて行う
(下記の内容が本当に正しいかどうかは、自分で確認してください)
パラメータにTimeoutがあるが、これは、ブラウザを閉じない場合の有効期限であり、閉じてしまえば、そこで有効期限に関わらず終了となる。
ブラウザを閉じた後も継続したい場合は、クッキーを使うことで、永続的に有効期限内で認証させることができる。C:\Documents and Settings\<ユーザー名>\Cookiesを見てみると、ファイルが作られてるのが確認できる。
ただし、これでも有効期限を過ぎると、認証は終了してしまう。有効期限がない、つまり、一度、認証されたら終了しないような指定はできない。
ただし、slidingExpirationをTrueにし、有効期限をスライドさせていくことにより、長期間、認証を継続させることは可能である。
例:
<authentication mode="Forms">
<forms name="auth" slidingExpiration="True" loginUrl="Login.aspx" protection="All" path="/" timeout="10080"/>
</authentication>
この設定では、timeoutは、1週間(7日×24時間×60分=10080分)に設定され、slidingExpirationがTrueになっている。
RedirectFormLoginPage(<id>,true)にし、1週間に1度、サイトを開くことで、有効期限が永久になっているようにみせることができる。(ただし、最終ログインから、1週間を経過すると、再度ログインが必要となる)
1.Web.configに追加
<mobileControls cookielessDataDictionaryType="System.Web.Mobile.CookielessData" allowCustomAttributes="true"/>
<filter name="IsAccesskey" compare="supportsAccesskeyAttribute" argument="true" />
</deviceFilters>
2.xxx.aspxに追加(例:Linkオブジェクト)
<mobile:Form id="Form1" runat="server" Alignment="Left">
<mobile:DeviceSpecific id="DeviceSpecific1" runat="server">
<Choice Filter="IsAccesskey" Xmlns="http://schemas.microsoft.com/mobile/html32template">
</Choice>
</mobile:DeviceSpecific>
<P>
<mobile:Link ID="Link1" Runat="server" NavigateUrl="xxx.aspx">0.xxx
<DeviceSpecific>
<Choice accesskey="0" Filter="isAccessKey"/>
</DeviceSpecific>
</mobile:Link>
</P>
<mobile:Form>
3.xxx.aspx.csに追加
public bool isAccessKey(MobileCapabilities caps,
string optValue)
{
if (!caps.Crawler && caps.SupportsAccesskeyAttribute)
return true;
return false;
}
AccessDataSourceで、データが書き込まれない時のチェック項目
ToolStripItemでもApplicationSettingで、プロパティのバインドが設定できるが、どういうわけか保存読み出しが利かない。
Properties.Settings.Default.xxx
に対して、手動で設定して
Properties.Settings.Default.Save();
すれば、保存できる(読み出しは、その逆)。
○サンプルxmlファイルの内容
<?xml version="1.0" standalone="yes"?>
<Files>
<File Kind="画像" FileName="xxx1.jpg" Aria="日本,東京"/>
<File Kind="画像" FileName="xxx2.jpg" Aria="日本,大阪"/>
<File Kind="音楽" FileName="xxx1.wav" Aria="日本,東京"/>
</Files>
○kindが画像で、Ariaに大阪を含むデータを抽出
/Files/File[@Kind='画像' and contains(@Aria,'大阪')]
変数値(例:大阪)にしたければ、XPath式をコードで作成し、バインドしなおせばよい。
ソースで
<%@ StylesheetTheme="" %>
Web.configで
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
</system.web>
<location path ="***.aspx">
<system.web>
<pages styleSheetTheme="" />
</system.web>
</location>
</configuration>
例:
((TextBox)DetailsView1.FindControl("TextBox3")).Text
.NET 2.0 | .NET 3.5 | ASP.NET 2.0 | QuickTime | SQL Server | VS2003 | VS2005 | VS2008 | Windows Mobile | Windows Vista | パソコン・インターネット | 住まい・インテリア | 携帯・デジカメ
最近のコメント