Web Hizmeti Arka Ucuna Sahip Sayısal Yukarı/Aşağı Denetimi Oluşturma (VB)

Hristia WENZ tarafından

Kodu indirin veya PDF 'yi indirin

Bir kullanıcının onay kutusuna değer yazmalarına izin vermek yerine, sayısal bir yukarı/aşağı denetimi (Windows ve diğer işletim sistemlerinde bulunur) daha rahat bir şekilde kanıtlayabilecek. Varsayılan olarak, NumericUpDown denetimi her zaman bir değeri 1 artırır veya düşürür, ancak bir Web hizmeti daha fazla esneklik sağlar.

Genel bakış

Bir kullanıcının onay kutusuna değer yazmalarına izin vermek yerine, sayısal bir yukarı/aşağı denetimi (Windows ve diğer işletim sistemlerinde bulunur) daha rahat bir şekilde kanıtlayabilecek. Varsayılan olarak, NumericUpDown denetimi her zaman bir değeri 1 artırır veya düşürü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 NumericUpDown Genişletici ' i içerir: bir tane, değerini azaltmak için bir tane. Ancak denetim Ayrıca bir Web hizmeti çağrısını (veya sayfa yöntemi çağrısını) destekler. Yukarı veya aşağı düğmesine tıklandığında, JavaScript kodu Web sunucusuna bağlanır ve bir yöntemi bu yerde yürütür. Yöntem imzası aşağıdakilerden biridir:

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, NumericUpDown genişletici 'in bir özelliği olarak ayarlanmakta olan ek bağlam verileri (ancak gerekli değildir).

Bu örnekte, sayısal yukarı/aşağı denetimi yalnızca iki üsleri olan değerlere izin veriyor: 1, 2, 4, 8, 16, 32, 64, vb. Bu nedenle, kullanıcının değeri arttırmak istediğinde yürütülen Yöntem eski değeri Double olmalıdır; diğer yöntem değeri iki ile bölmelidir. Web hizmetinin tamamı aşağıda verilmiştir:

<%@ 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 denetimine, TextBox denetimine ve NumericUpDownExtender denetimine ihtiyacınız vardır. İkincisi için, Web hizmeti bilgilerini sağlamanız gerekir:

  • aşağı Web yönteminin veya sayfa yönteminin ServiceDownMethod adı
  • Web hizmetinin yolunu aşağı hizmet yöntemiyle ServiceDownPath; bir sayfa yöntemi kullanıyorsanız, atlayın
  • up Web yönteminin veya sayfa yönteminin ServiceUpMethod adı
  • up hizmeti yöntemiyle Web hizmetinin yolunu ServiceUpPath; bir sayfa yöntemi kullanıyorsanız, atlayın

Sayfa için tüm biçimlendirme aşağıda verilmiştir:

<%@ 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 çıkar ve alt düğmeye tıkladığınızda bu değeri yarıya iner.

yalnızca 2 ' nin üssü olan sayılar görüntülenir

Yalnızca 2 ' nin üssü olan sayılar görüntülenir (tam boyutlu görüntüyü görüntülemek Için tıklayın)