JavaScript を使用せずに ASP.NET で数値アップダウンを使用する方法はありますか?
そうでない場合、代替手段はありますか?
私は同じことをしようとしていましたが、asp テキストボックスにオプションがあることがわかりました。私のために働いたのはこれでした:
<asp:TextBox TextMode="Number" runat="server" min="0" max="20" step="1"/>
これにより、マウスがその上に置かれるか、フォーカスが与えられると、上下のコントロールが表示され、最小から最大までの数値のみを許可するテキストボックスが得られました。それは同じように動作します
<input type="number" min="0" max="20" step="1" />
Ajax Control Toolkit を調べてください
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/NumericUpDown/NumericUpDown.aspx
<ajaxToolkit:NumericUpDownExtender ID="NUD1" runat="server"
TargetControlID="TextBox1"
Width="100"
RefValues="January;February;March;April"
TargetButtonDownID="Button1"
TargetButtonUpID="Button2"
ServiceDownPath="WebService1.asmx"
ServiceDownMethod="PrevValue"
ServiceUpPath="WebService1.asmx"
ServiceUpMethod="NextValue"
Tag="1" />
また、 NuGetを使用して参照を追加することも検討してください。PM> Install-Package AjaxControlToolkit
.NET 4.0 に行き詰まっていて、(Ajax コントロール ツールキットの NumericUpDown ではなく) ネイティブの HTML5 入力タイプ "number" を使用したい場合は、ASP TextBox コントロールと追加の "type" タグを組み合わせて使用できます。
<asp:TextBox runat="server" ID="txtMyTextBox" type="number" min="0" max="10" step="1"/>
テキスト入力を禁止したい場合は、Ajax Control Toolkit から FilteredTextBoxExtender を追加することもできます。
<ajaxToolkit:FilteredTextBoxExtender runat="server" TargetControlID="txtMyTextBox" FilterType="Numbers" />