通过MS AJAX可以扩展一个服务器端控件在客户端呈现后的特性,使其界面更加友好。
        实例代码:IScriptControl.rar 
        一、创建网站,选择ASP.NET AJAX-Enabled Web Site.
        二、向项目中添加一个类,使其派生自TextBox,并实现IScriptControl接口。如下代码实例:

public class SampleTextBox : TextBox, IScriptControl

         三、这个控件我们将实现两个属性:
               HighlightCssClass         控件得到焦点后的样式。当控件得到焦点的时候使其能够高亮显示。
               NoHighlightCssClass     失去焦点的控件的样式。
 

public string HighlightCssClass
        {
            
get { return _highlightCssClass; }
            
set { _highlightCssClass = value; }
        }

        
public string NoHighlightCssClass
        {
            
get { return _noHighlightCssClass; }
            
set { _noHighlightCssClass = value; }
        }

        四、接口IScriptControl 的实现。
               GetScriptDescriptors()    返回一个包含控件客户端实例的属性和事件句柄的 ScriptDescriptor 类型的数组。
               GetScriptReferences()    返回一个包含控件客户端 JavaScript 代码的ScriptReference 类型的数组。
               在这个实例中,我们用四个函数来实现这两个函数。代码如下:
利用MS AJAX 扩展服务器端控件protected virtual IEnumerable<ScriptReference> GetScriptReferences()
        }
        五、注册控件。代码比较简单,所以就不再多加讲述,入下:
利用MS AJAX 扩展服务器端控件protected override void OnPreRender(EventArgs e)
        }

         六、下边是我们新添加的类的完整代码:
利用MS AJAX 扩展服务器端控件using System;
利用MS AJAX 扩展服务器端控件
using System.Data;
利用MS AJAX 扩展服务器端控件
using System.Configuration;
利用MS AJAX 扩展服务器端控件
using System.Web;
利用MS AJAX 扩展服务器端控件
using System.Web.Security;
利用MS AJAX 扩展服务器端控件
using System.Web.UI;
利用MS AJAX 扩展服务器端控件
using System.Web.UI.WebControls;
利用MS AJAX 扩展服务器端控件
using System.Web.UI.WebControls.WebParts;
利用MS AJAX 扩展服务器端控件
using System.Web.UI.HtmlControls;
利用MS AJAX 扩展服务器端控件
using System.Collections.Generic;
利用MS AJAX 扩展服务器端控件
利用MS AJAX 扩展服务器端控件
namespace TextBoxExtender

         七、创建客户端控件。为客户端控件注册一个命名空间,并实现各个属性和事件:
利用MS AJAX 扩展服务器端控件// 为控件注册命名控件
利用MS AJAX 扩展服务器端控件
Type.registerNamespace('Samples');
利用MS AJAX 扩展服务器端控件
利用MS AJAX 扩展服务器端控件
//
利用MS AJAX 扩展服务器端控件
// 定义控件的属性
利用MS AJAX 扩展服务器端控件
//

最后将如下代码复制到Default.aspx页面,用以测试空间:
利用MS AJAX 扩展服务器端控件<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
利用MS AJAX 扩展服务器端控件
<%@ Register Namespace="TextBoxExtender" TagPrefix="sample" %>
利用MS AJAX 扩展服务器端控件
利用MS AJAX 扩展服务器端控件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
利用MS AJAX 扩展服务器端控件
利用MS AJAX 扩展服务器端控件
<html xmlns="http://www.w3.org/1999/xhtml">
利用MS AJAX 扩展服务器端控件
<head id="Head1" runat="server">
利用MS AJAX 扩展服务器端控件    
<title>ASP.NET AJAX Control Sample</title>
利用MS AJAX 扩展服务器端控件    
<style type="text/css">
利用MS AJAX 扩展服务器端控件    .LowLight

实例代码:IScriptControl.rar

相关文章:

  • 2022-02-12
  • 2021-07-15
  • 2022-02-24
  • 2022-12-23
  • 2021-12-15
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-04
  • 2021-11-21
  • 2021-07-22
  • 2021-10-28
  • 2021-07-22
  • 2021-09-13
相关资源
相似解决方案