1

サイトはモバイル デバイスでのみ使用されます。そのため、数値入力のみが必要なフィールドについては、テンキーパッドを表示したいと考えています。type を に設定した html 入力要素を使用することで、これを正常に実行できますtelこのフィールドにMSDNasp:RequiredFieldValidatorに基づいてを追加したいと思います。

入力を に設定する必要がありますrunat="server"。これを行うと、このエラーが発生します。

tel入力タグの有効なタイプではありません。

を削除するとrunat="server"、取得します

のプロパティContractによって参照されるコントロール ID が見つかりませんControlToValidate''

これが私のコードです:

<input type="tel" runat="server" id="Contract"></input>
<asp:RequiredFieldValidator runat="server" ControlToValidate="Contract" 
                            ValidationGroup="IfOnRent" Text="*" 
                            ErrorMessage="Contract Required">
</asp:RequiredFieldValidator>

運が悪かっただけで、独自の検証をコーディングする必要がありますか?

4

4 に答える 4

1

コード「フロント」で「タイプ」を宣言しないままにしておくことをお勧めします。これはコード ビハインドで設定できます (おそらくPage_InitまたはでPage_Load):

this.Contract.Attributes.Add("type", "tel");
于 2012-06-04T20:48:31.547 に答える
0

Microsoft .NET Framework 4 Reliability Update 1 (KB2533523) がインストールされている場合は、TextBox新しい html5 入力タイプを受け入れます (UpdatePanelポストバックでもそれらを認識するために必要です)。

または、独自のコントロールで継承することもできHtmlInputTextます (任意の .net バージョン - 任意の入力タイプ):

[ToolboxData("<{0}:Input runat='server' />"), Themeable(true)]
public sealed class Input: HtmlInputText { }
于 2012-06-04T21:31:45.360 に答える
-2

送信ボタンの validationgroup プロパティ値が requiredfieldvalidator と同じであることを確認してください

于 2012-06-06T13:04:07.980 に答える