>  기사  >  웹 프론트엔드  >  AjaxToolKit에서 등급 제어를 사용하는 방법

AjaxToolKit에서 등급 제어를 사용하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-04 11:43:261403검색

이번에는 AjaxToolKit에서 Rating 컨트롤을 사용하는 방법을 보여 드리겠습니다. AjaxToolKit에서 Rating 컨트롤을 사용할 때 주의 사항은 무엇입니까?

AjaxToolKit의 Rating 컨트롤은 웹 페이지 평가(또는 투표) 기능을 처리하는 데 특별히 사용되는 Microsoft Ajax 컨트롤 라이브러리의 컨트롤로, 웹 페이지 비새로 고침 기능을 지원합니다. UpdatePanel에 넣을 필요가 없습니다. AutoPostBack 속성을 False로 설정하면 됩니다. 이 컨트롤은 사용이 매우 간단하며 다양한 효과는 물론 맞춤 기능콜백 등도 설정할 수 있습니다. 다음은 그것을 사용할 때의 스크린샷입니다

먼저 공통 속성의 기능에 대해 이야기합시다:
ID:물론 모든 컨트롤에는 서버측 ID가 있다는 것은 모두가 이해합니다. .
BehaviorID: Ajax 클라이언트를 통해 제어 개체를 가져올 때 사용되는 ID입니다. 콜백 함수 설정 시 $Find 메서드를 통해 찾습니다.
MaxRating: 컨트롤의 현재 최대값입니다. 이 값은 UI의 "별표" 아이콘 수를 직접 반영합니다.
CurrentRating: 현재 값, 즉 컨트롤이 현재 표시하는 값입니다. 이 값은 UI에서 켜져 있는 "별표" 아이콘의 수를 직접 반영합니다. 이 값의 범위는 0~MaxRating(포함) 사이입니다.
runat: 등록된 컨트롤은 서버 측 동작이므로 이 값을 설정해야 합니다.
StarCssClass: "star" 아이콘의 스타일입니다. 필수의.
WaitingStarCssClass: 클라이언트 응답을 처리할 때 컨트롤이 서버와 상호 작용하는 동안 대기 상태에 있을 때의 "별" 아이콘 스타일입니다. 필수의.
FilledStarCssClass: "별표" 아이콘이 켜졌을 때의 스타일입니다. 필수의.
EmptyStarCssClass: "별표" 아이콘이 켜지지 않을 때의 스타일. 필수의.
CssClass: 등급 제어의 전반적인 스타일입니다. 필요한 경우 지정하십시오.
OnChanged: 는 사용자가 "별표" 아이콘을 클릭한 후 응답 이벤트를 처리하는 데 사용됩니다. 이 이벤트는 서버 측에서 처리됩니다.
AutoPostBack: 컨트롤이 자동으로 포스트백되는지 여부를 설정합니다. 일반적으로 이 값을 False로 설정합니다.
ReadOnly: 컨트롤의 읽기 전용 상태입니다. 읽기 전용 상태의 등급은 사용자가 클릭할 수 없습니다. 읽기 전용 상태의 등급에 대해 별도의 스타일을 설정할 수 있습니다.
사용 방법을 살펴보겠습니다.
준비 작업:
1. AjaxControlToolkit.dll 어셈블리가 프로젝트에서 올바르게 참조되는지 확인하세요. 이 어셈블리는 Visual Studio 2005의 베타 버전입니다. 설치 패키지를 다운로드하려면 Microsoft 공식 웹 사이트로 이동해야 합니다. Visual Studio 2008은 IDE와 함께 자동으로 설치되므로 직접 사용할 수 있습니다.
2. Visual Studio2008에서는 이 컨트롤이 도구 상자에 자동으로 추가되지 않으며 수동으로 도구 상자에 추가한 다음 페이지에 끌어서 놓아야 합니다. Visual Studio에서 도구 상자 부동 패널을 열고, 빈 탭(예: 일반 탭)을 선택하고, 마우스 오른쪽 버튼을 클릭하고, "선택..."을 선택하고, 팝업 대화 상자의 AjaxControlToolkit 어셈블리에서 해당 컨트롤을 찾을 수 있습니다. , 다음 그림과 같습니다.

3 위 대화 상자에서 AjaxControlToolkit과 관련된 컨트롤을 찾을 수 없는 경우 AjaxControlToolkit.dll 어셈블리에 대한 경로를 직접 지정해야 합니다. 독자가 파일을 찾지 못한 경우 여기에서 편리하게 다운로드할 수 있습니다. AjaxControlToolkit.dll 4. 컨트롤을 추가한 후 표준 ASP.NET 컨트롤처럼 도구 상자에서 Rating 컨트롤을 사용할 수 있습니다.

준비가 완료되면 프로젝트에서 새 웹 페이지를 만들고 페이지에 컨트롤을 배치합니다. 모든 Ajax 컨트롤에는 클라이언트에 필요한 스크립트를 등록하는 역할을 하는 ScriptManager 컨트롤의 지원이 필요합니다. 따라서 등급 컨트롤을 추가하기 전에 페이지에 ScriptManager 컨트롤이 하나만 있는지 확인하십시오. 다음은 aspx 파일의 코드 예제입니다.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="iFrameUpload.WebForm1" %> 
<%@ Register Assembly="AjaxControlToolkit, Version=3.0.20820.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" 
 Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> 
<!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 runat="server"> 
 <title>Untitled Page</title> 
 <link href="css/style.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
 <form id="form1" runat="server"> 
 <p> 
 <asp:ScriptManager ID="ScriptManager1" runat="server"> 
 </asp:ScriptManager> 
 <ajaxToolkit:Rating ID="RatingRate" BehaviorID="RatingRate1" MaxRating="5" CurrentRating="3" 
  runat="server" StarCssClass="ratingStar" WaitingStarCssClass="waitingRatingStar" 
  FilledStarCssClass="filledRatingStar" EmptyStarCssClass="emptyRatingStar" 
  OnChanged="RatingRate_Changed" AutoPostBack="false"> 
 </ajaxToolkit:Rating> 
 <script type="text/javascript"> 
   Sys.Application.add_load( 
   function() { 
    $find("RatingRate1").add_EndClientCallback( 
    function(sender, e) { 
     var result = e.get_CallbackResult(); 
     alert(result); 
    } 
    ); 
   } 
   ); 
 </script> 
 </p> 
 </form> 
</body> 
</html>

등급 제어 관련 속성과 이벤트가 추가되었습니다. 스크립트의 의미는 다음과 같습니다. 페이지가 완전히 로드된 후 Sys.Application.add_load 메소드를 통해 Rating 제어에 대한 콜백 메소드를 등록하고, 서버에서 전달된 값을 받기 위해 $find("RatingRate1").add_EndClientCallback 메소드를 통해 등록합니다. 이러한 스크립트는 표준 Ajax 프레임워크에서 제공되므로 여기서는 자세한 설명을 생략하겠습니다. 독자는 Microsoft의 MSDN에서 매우 자세한 소개를 확인할 수 있습니다.

다음 단계는 cs 파일에 대한 코드입니다.

protected void RatingRate_Changed(object sender, AjaxControlToolkit.RatingEventArgs e) 
{ 
 System.Threading.Thread.Sleep(300); 
 //TODO: Save e.Value to database. 
 e.CallbackResult = "success"; 
}

매우 간단합니다. 먼저 스레드를 300ms 동안 정지시켜 대기 상태에서 등급 제어 스타일을 살펴보는 시간을 가질 수 있습니다. 그런 다음 데이터 저장(예: 현재 등급 값을 데이터베이스에 저장하는 등)을 처리할 수 있습니다. 사용자가 선택한 값은 문자열 유형인 e.Value 속성을 통해 가져옵니다. 그런 다음 e.CallbackResult 속성을 통해 클라이언트에 콜백 값을 전달하면 클라이언트는 값을 가져온 후 그에 따라 처리합니다.

아래에 CSS 스타일과 샘플 이미지가 제공되어 독자가 직접 다운로드할 수 있습니다! Rating의 현재 값은 사용자가 클릭할 수 없습니다. 초기화 중에 Rating의 CurrentRating 값이 3이면 사용자가 세 번째 "별표" 아이콘을 클릭할 때 클릭 이벤트가 트리거되지 않습니다. 사용자가 클릭한 후 컨트롤을 읽기 전용 상태로 설정하는 등 서버 측에서 처리할 수 있습니다.

.ratingStar 
{ 
 font-size: 0pt; 
 width: 13px; 
 height: 12px; 
 margin: 0px; 
 padding: 0px; 
 cursor: pointer; 
 display: block; 
 background-repeat: no-repeat; 
} 
.waitingRatingStar /*normal mode empty style*/ 
{ 
 background-image: url(Rating_default.gif); 
} 
.filledRatingStar /*normal mode filled style*/ 
{ 
 background-image: url(Rating_normal.gif); 
} 
.emptyRatingStar /*readonly mode empty style*/ 
{ 
 background-image: url(Rating_empty.gif); 
}

다음은 런타임 시 효과입니다.

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

$.Ajax() 메소드의 매개변수를 사용하는 방법

Ajax가 XML 파일을 추가, 삭제 및 수정하는 방법

위 내용은 AjaxToolKit에서 등급 제어를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.