私はTextBoxコントロールを持っていると私は値readonly
とreadonly
属性持っているレンダリングされた入力要素たい:マークアップのTextBoxコントロールにreadonly属性を設定しますか?
textBox.Attributes["readonly"] = "readonly"
:私は、次のコードを使用して、コードビハインドでそれを行うことができ
<input type="text" readonly="readonly" />
をむしろ、すべてのコントロール属性とその値をマークアップに入れることになります。マークアップでそれを行うことはできますか?
解決策は、TextBoxコントロールを拡張することでしたが、これは意図した結果に対して非常に複雑に感じます。
JavaScriptを使用してクライアント側の値を変更し、ポストバック中にサーバー側の値を読み取ることができます。 TextBox.ReadOnly
プロパティをTrue
に設定すると、ではなくで問題が解決されるため、サーバーではポストバック時にTextBoxの値が無視されるため注意が必要です。 (MSDN。)私は単にブラウザからの読み取り専用の動作が必要です。
多分私は間違っていますが、asp.netはあなたが追加するすべての属性を出力していませんか?あなたはデザインでそれを追加しようとしましたか?それがページの出力に終わるかどうかを確認しましたか? 「CssClass」の代わりに誤って「class」と書くことがあり、単にclass属性を追加するだけで実際にはそうなるかもしれません。 – Bazzz
@Bazzz:これを試しましたが、ASP.NETのマークアップ属性は大文字小文字を区別しないため、 'TextBox.ReadOnly'属性の文字列化されたブール値を期待するため、エラーが発生します。 –
良い点、私はそれを考えなかった。 – Bazzz