asp.net でユーザー名テキスト ボックスを作成する必要があります。フォーマットは次のようになります。
DOMAIN-NAME/username
これで、DOMAIN-NAME
デフォルトで、ハードコードされた編集不可能なテキストになるはずです。ユーザーはユーザー名のみを入力できますが、削除はできませんDOMAIN-NAME
。
どうすればこれを達成できますか?
ドメインをハードコーディングして編集不可にする場合は、サーバーに配置する必要があります。
page_load 時:
string domainName = @"DEFAULT-NAME/";
string userName = TextBoxId.Value; //do some server side checks on value before processing it though
string finalUserName = domainName + userName;
ページにセカンダリの読み取り専用テキスト ボックスを配置したとしても、POST 変数は簡単に操作できるため、編集不可のテキスト ボックスが受け取る値が期待どおりであるとは決して信じないでください。サーバーにドメインを追加し、必要に応じてページのテキストボックス近くのラベルに表示します。
オプション1:テキストボックスの前にラベルを表示し、読み取り中に@LonWolfによるコードを使用する
オプション2:テキストボックスの背景画像と左のパディングを表示します。画像では、DEFAULT-Nameを指定できます
オプション3:次のようなjqueryプラグインを使用します:http ://twitter.github.com/bootstrap/base-css.html#forms 、かなり良いテキストボックスのプレフィックスとサフィックスを表示するフォームコントロールの拡張を参照してください
要件を次のように見たい場合は、「ドメイン名がハードコードされたテキスト ボックスがあるようです。」次にこれを試してください:
<html>
<style type="text/css">
span.fakeTextBox{
border: 2px inset #EBE9ED;
display: inline-block;
padding: 3px;
font-family:"Times New Roman",Georgia,Serif;
}
span.fakeTextBox input{
border: none;
outline:none;
}
</style>
<body>
<span class="fakeTextBox">
MyDomain\<input type="text" >
<span>
</body>
</html>
ユーザーは違いを知ることはありません
なぜ同じテキスト ボックスに両方が必要なのですか? textbox
ドメイン名の編集不可 (非アクティブ)とtextbox
ユーザー名の編集可能はありませんか?
または、両方を同じテキスト ボックスに入れることもできます。ただし、文字列を確認してください
ドメイン名/
検証 (JQUERY
またはJavascript
)を使用してユーザーが削除しない
テキスト ボックスをクリックするとドメイン名が削除され、テキスト ボックスを離れるときにドメイン名が追加されます。または、DOMAIN-NAME をラベルに入れて、textBox を横に置きますか?
テキスト ボックスの左側にあるラベルにドメイン名を入力できます。
テキストボックスにドメインを表示する必要がある場合は、それをマスクするために JavaScript を修正する必要があります。
たとえば、JQueryを使用している場合、次のようなコードが役立つ可能性があります。
できません。テキストボックスは、どのコンテンツも編集できないことを意味する無効化されているか、すべてのコンテンツを編集できることを意味する有効化されています。あなたのような要件を持つほとんどのアプリケーションは、テキストボックスの前にラベルを使用して、編集できない部分を表示します。