Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Christian Wenz tarafından
Kullanıcının onay kutusuna bir değer yazmasına izin vermek yerine, sayısal yukarı/aşağı denetimi (Windows'ta ve diğer işletim sistemlerinde var olan) daha rahat kanıtlanabilir. Varsayılan olarak NumericUpDown denetimi bir değeri her zaman 1 artırır veya azaltır, ancak web hizmeti daha fazla esneklik sağlar.
Genel Bakış
Kullanıcının onay kutusuna bir değer yazmasına izin vermek yerine, sayısal yukarı/aşağı denetimi (Windows'ta ve diğer işletim sistemlerinde var olan) daha rahat kanıtlanabilir. Varsayılan olarak, NumericUpDown denetim bir değeri her zaman 1 artırır veya azaltır, ancak bir web hizmeti daha fazla esneklik sağlar.
Adımlar
ASP.NET AJAX Denetim Araç Seti, bir metin kutusuna otomatik olarak iki düğme ekleyen genişleticiyi içerir NumericUpDown : Biri değerini artırmak için, biri de onu azaltmak için. Ancak denetim bir web hizmeti çağrısını (veya sayfa yöntemi çağrısını) da destekler. Yukarı veya aşağı düğmesine her tıklandığında JavaScript kodu web sunucusuna bağlanır ve orada bir yöntem yürütür. Yöntem imzası aşağıdaki gibidir:
Function MethodName(ByVal current As Integer, ByVal tag As String) As Integer
current bağımsız değişkeni metin kutusundaki geçerli değerdir; tag özniteliği genişleticinin özelliği olarak ayarlanabilen NumericUpDown (ancak gerekli olmayan) ek bağlam verileridir.
Bu örnek için, sayısal yukarı/aşağı denetimi yalnızca ikinin gücü olan değerlere izin verecektir: 1, 2, 4, 8, 16, 32, 64 vb. Bu nedenle, kullanıcı değeri artırmak istediğinde yürütülen yöntemin eski değerin iki katı olması gerekir; diğer yöntem değeri ikiye bölmelidir. İşte tam web hizmeti:
<%@ WebService Language="VB" Class="NumericUpDown1" %>
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
<System.Web.Script.Services.ScriptService()> _
Public Class NumericUpDown1
Inherits System.Web.Services.WebService
<WebMethod()> _
Function Up(ByVal current As Integer, ByVal tag As String) As Integer
If current <= 536870912 Then
Return current * 2
Else
Return current
End If
End Function
<WebMethod()> _
Function Down(ByVal current As Integer, ByVal tag As String) As Integer
If current >= 2 Then
Return CInt(current / 2)
Else
Return current
End If
End Function
End Class
Son olarak, yeni bir ASP.NET sayfası oluşturun. Her zamanki gibi bir ScriptManager denetime, denetime TextBox ve denetime ihtiyacınız vardır NumericUpDownExtender . İkincisi için web hizmeti bilgilerini sağlamanız gerekir:
-
ServiceDownMethodaşağı web yönteminin veya sayfa yönteminin adı -
ServiceDownPathaşağı hizmet yöntemiyle web hizmetinin yolu; Sayfa yöntemi kullanıyorsanız atla -
ServiceUpMethodyukarı web yönteminin veya sayfa yönteminin adı -
ServiceUpPathyukarı hizmet yöntemiyle web hizmetinin yolu; Sayfa yöntemi kullanıyorsanız atla
Sayfa için tam işaretleme aşağıdadır:
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Control Toolkit</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="asm" runat="server" />
<div>
How many MB do you want? <asp:TextBox ID="TextBox1" Text="32" runat="server" />
<ajaxToolkit:NumericUpDownExtender ID="nud" runat="server"
TargetControlID="TextBox1" Width="100"
ServiceUpPath="NumericUpDown1.vb.asmx" ServiceDownPath="NumericUpDown1.vb.asmx"
ServiceUpMethod="Up" ServiceDownMethod="Down" />
</div>
</form>
</body>
</html>
Sayfayı çalıştırırsanız, üstteki düğmeye tıkladığınızda metin kutusundaki değerin her zaman iki katına çıktığına ve alttaki düğmeye tıkladığınızda ikiye katlandığına dikkat edin.
Yalnızca 2'nin gücündeki sayılar görüntülenir (Tam boyutlu görüntüyü görüntülemek için tıklayın)