亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NET AJAX Advance Tips & Tricks (11) 三種方法動態創建Tooltip

2019-11-10 18:32:35
字體:
來源:轉載
供稿:網友

前言 

如何動態創建提示框(Tooltip)是asp.net Forum里的常見問題之一,在做技術支持時,我曾在英文博客上總結過ASP.NET和ASP.NET Ajax環境下如何動態創建提示框的三種常見方法,比較基礎,收到了蠻多老外們的commend,如今英文博客被墻,特轉到這里來與大家分享。

 

原文地址:

http://lancezhang.WordPRess.com/2008/12/04/create-tooltip-dynamically/

http://lancezhang.wordpress.com/2009/01/12/create-tooltip-dynamically-by-ajax-pagemethod/

http://lancezhang.wordpress.com/2009/01/12/create-tooltip-dynamically-by-ajax-and-webservice/

 

方法一:使用ICallbackEventHandler 

Use Pop up div by javaScript or AJAX Control Toolkit’s Hover Menu control can create a Tooltip easily.

However, if we need to create the content of tooltip dynamically by the Server-Side code, we can use the ICallbackEventHandler to achieve the faing goal.

Please try the following demo, when you move the mouse on the text, the related image and text which will be created on the code-behind show up in the tooltip after 1 second. during the loading process, a “loading” gif picture will display in the tooltip box.

Ok, here we go:

復制代碼<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”tooltiptest.aspx.cs” Inherits=”tooltiptest” %><!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”>    <script type=“text/Javascript”>        var positionX;        var positionY;        function HandleMouSEOver(Label) {            CallTheServer(Label.innerText, ”);            positionX = event.clientX;            positionY = event.clientY;            document.getElementById(‘tooltipDiv’).style.left = positionX;            document.getElementById(‘tooltipDiv’).style.top = positionY;            document.getElementById(‘tooltipDiv’).style.display = ‘block’;        }        function HandleMouseOut() {            document.getElementById(‘tooltipDiv’).style.display = ‘none’;            document.getElementById(‘tooltipDiv’).innerHTML = “<img src=’loading.gif’/>”;        }        function ReceiveServerData(arg, context) {            document.getElementById(‘tooltipDiv’).innerHTML = arg;        }    </script>    <style type=“text/CSS”>        .style1        {            border: 1px solid #96C2F1;            background-color: #EFF7FF;            position: absolute;            display: none;            filter: alpha(opacity=80);            opacity: 0.80;        }    </style>    <title>Untitled Page</title></head><body style=“font-family: Calibri; font-size: 15px;”>    <form id=“form1″ runat=“server”>    <div id=“tooltipDiv” class=“style1″>    <img src=“loading.gif”/>    </div>    <div>        <asp:Label ID=“Label1″ runat=“server” Text=“http://forums.asp.net/Themes/FAN/style/i/logo.png”            onmouseout=“HandleMouseOut()” onmouseover=“HandleMouseOver(this)”></asp:Label>        <br />        <br />        <br />        <br />        <asp:Label ID=“Label2″ runat=“server” Text=“http://forums.asp.net/Themes/fan/images/roleicons/a874d69e-0ac8-4b80-acc7-512767e281f6.gif”            onmouseout=“HandleMouseOut()” onmouseover=“HandleMouseOver(this)”></asp:Label>    </div>    </form></body></html>復制代碼

 

復制代碼using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class tooltiptest : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler{    string tooltip;    public void RaiseCallbackEvent(String eventArgument)    {        string filename = eventArgument;        tooltip = GetTooltip(filename);    }    public string GetCallbackResult()    {        return tooltip;    }    protected string GetTooltip(string imagename)    {        System.Threading.Thread.Sleep(1000);        return @”this is just a demo: <br><img src=’” + imagename+“‘/>”;    }    protected void Page_Load(object sender, EventArgs e)    {        String cbReference = Page.ClientScript.GetCallbackEventReference(this, “arg”, “ReceiveServerData”, “context”);        String callbackScript = “function CallTheServer(arg, context) {“ + cbReference + “; }”;        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), “CallTheServer”, callbackScript, true);    }}復制代碼

 

方法二:使用PageMethod

If we are using ASP.NET AJAX, the same effect can be achieve by AJAX Page Method easily.

Ok, here we go:

Step 1:

we need to set the EnablePageMethods=”true” for our ScriptManager or ToolkitScriptManager:

<asp:ScriptManager ID=“ScriptManager1″ runat=“server” EnablePageMethods=“true”></asp:ScriptManager>

Step 2:

Let’s create the Server-side method for create tooltip message, please notice the using references and attribute:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Script.Services;using System.Web.Services;using System.Web.UI;using System.Web.UI.WebControls;

[ScriptService]public partial class tooltiptest2 : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {

    }

    [WebMethod]    public static string GetTooltip(string imagename)    {        System.Threading.Thread.Sleep(1000);        return @”this is just a demo: <br><img src=’” + imagename + “‘/>”;    }}

 

Step 3:

Complete the JavaScript code to invoke the page method:

<script type=“text/javascript”>    var positionX;    var positionY;

    function onSuccess(value, ctx, methodName) {        document.getElementById(‘tooltipDiv’).innerHTML = value;    }

    function onFailed(ex, ctx, methodName) {        alert(ex.get_exceptionType());    }

    function HandleMouseOut() {        document.getElementById(‘tooltipDiv’).style.display = ‘none’;        document.getElementById(‘tooltipDiv’).innerHTML = “<img src=’loading.gif’/>”;    }

    function HandleMouseOver(Label) {

        PageMethods.GetTooltip(Label.innerText, onSuccess, onFailed);

        positionX = event.clientX;        positionY = event.clientY;        document.getElementById(‘tooltipDiv’).style.left = positionX;        document.getElementById(‘tooltipDiv’).style.top = positionY;        document.getElementById(‘tooltipDiv’).style.display = ‘block’;    }  </script>

OK, the full code is following:

<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”tooltiptest2.aspx.cs” Inherits=”tooltiptest2″ %>

<!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”>

    <script type=“text/javascript”>        var positionX;        var positionY;

        function onSuccess(value, ctx, methodName) {            document.getElementById(‘tooltipDiv’).innerHTML = value;        }

        function onFailed(ex, ctx, methodName) {            alert(ex.get_exceptionType());        }

        function HandleMouseOut() {            document.getElementById(‘tooltipDiv’).style.display = ‘none’;            document.getElementById(‘tooltipDiv’).innerHTML = “<img src=’loading.gif’/>”;        }

        function HandleMouseOver(Label) {

            PageMethods.GetTooltip(Label.innerText, onSuccess, onFailed);

            positionX = event.clientX;            positionY = event.clientY;            document.getElementById(‘tooltipDiv’).style.left = positionX;            document.getElementById(‘tooltipDiv’).style.top = positionY;            document.getElementById(‘tooltipDiv’).style.display = ‘block’;        }          </script>

    <style type=“text/css”>        .style1        {            border: 1px solid #96C2F1;            background-color: #EFF7FF;            positionabsolute;            displaynone;            filter: alpha(opacity=80);            opacity: 0.80;        }    </style>    <title>Untitled Page</title></head><body style=“font-family: Calibri; font-size: 15px;”>    <form id=“form1″ runat=“server”>    <asp:ScriptManager ID=“ScriptManager1″ runat=“server” EnablePageMethods=“true”>    </asp:ScriptManager>    <div id=“tooltipDiv” class=“style1″>        <img src=“loading.gif” />    </div>    <div>        <asp:Label ID=“Label1″ runat=“server” Text=“http://forums.asp.net/Themes/FAN/style/i/logo.png”            onmouseout=“HandleMouseOut()” onmouseover=“HandleMouseOver(this)”></asp:Label>        <br />        <br />        <br />        <br />        <asp:Label ID=“Label2″ runat=“server” Text=“http://forums.asp.net/Themes/fan/images/roleicons/a874d69e-0ac8-4b80-acc7-512767e281f6.gif”            onmouseout=“HandleMouseOut()” onmouseover=“HandleMouseOver(this)”></asp:Label>    </div>    </form></body></html>

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Script.Services;using System.Web.Services;using System.Web.UI;using System.Web.UI.WebControls;

[ScriptService]public partial class tooltiptest2 : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {

    }

    [WebMethod]    public static string GetTooltip(string imagename)    {        System.Threading.Thread.Sleep(1000);        return @”this is just a demo: <br><img src=’” + imagename + “‘/>”;    }}

 

 

 

方法三:使用WebService和AJAX

And we can also use WebService and AJAX to achieve the same goal.

Ok, here we go:

Step 1:

First, let’s add the WebService reference to our page:

<asp:ScriptManager ID=“ScriptManager1″ runat=“server”>    <Services>        <asp:ServiceReference Path=“~/tooltiptest3.asmx” />    </Services></asp:ScriptManager>

Step 2:

Let’s create the WebService for create tooltip message:

C#: tooltiptest3.asmx<%@ WebService Language=“C#” Class=“tooltiptest3″ %>

using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService]public class tooltiptest3  : System.Web.Services.WebService {

    [WebMethod]    public string GetTooltip(string imagename)    {        System.Threading.Thread.Sleep(1000);        return @”this is just a demo: <br><img src=’” + imagename + “‘/>”;    }   }

Step 3:

Complete the JavaScript code to invoke the page method:

<script type=“text/javascript”>    var positionX;    var positionY;

    function onSuccess(value) {        document.getElementById(‘tooltipDiv’).innerHTML = value;    }

    function onFailed(ex, ctx, methodName) {        alert(ex.get_exceptionType());    }

    function HandleMouseOut() {        document.getElementById(‘tooltipDiv’).style.display = ‘none’;        document.getElementById(‘tooltipDiv’).innerHTML = “<img src=’loading.gif’/>”;    }

    function HandleMouseOver(Label) {

        tooltiptest3.GetTooltip(Label.innerText, onSuccess, onFailed);

        positionX = event.clientX;        positionY = event.clientY;        document.getElementById(‘tooltipDiv’).style.left = positionX;        document.getElementById(‘tooltipDiv’).style.top = positionY;        document.getElementById(‘tooltipDiv’).style.display = ‘block’;    }             </script>

OK, the full page code is following:

<%@ Page Language=”C#” %>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<script runat=“server”>

</script>

<html xmlns=“http://www.w3.org/1999/xhtml”><head id=“Head1″ runat=“server”>

    <script type=“text/javascript”>        var positionX;        var positionY;

        function onSuccess(value) {            document.getElementById(‘tooltipDiv’).innerHTML = value;        }

        function onFailed(ex, ctx, methodName) {            alert(ex.get_exceptionType());        }

        function HandleMouseOut() {            document.getElementById(‘tooltipDiv’).style.display = ‘none’;            document.getElementById(‘tooltipDiv’).innerHTML = “<img src=’loading.gif’/>”;        }

        function HandleMouseOver(Label) {

            tooltiptest3.GetTooltip(Label.innerText, onSuccess, onFailed);

            positionX = event.clientX;            positionY = event.clientY;            document.getElementById(‘tooltipDiv’).style.left = positionX;            document.getElementById(‘tooltipDiv’).style.top = positionY;            document.getElementById(‘tooltipDiv’).style.display = ‘block’;        }                         </script>

    <style type=“text/css”>        .style1        {            border: 1px solid #96C2F1;            background-color: #EFF7FF;            positionabsolute;            displaynone;            filter: alpha(opacity=80);            opacity: 0.80;        }    </style>    <title>Untitled Page</title></head><body style=“font-family: Calibri; font-size: 15px;”>    <form id=“form1″ runat=“server”>    <asp:ScriptManager ID=“ScriptManager1″ runat=“server”>        <Services>            <asp:ServiceReference Path=“~/tooltiptest3.asmx” />        </Services>    </asp:ScriptManager>    <div id=“tooltipDiv” class=“style1″>        <img src=“loading.gif” />    </div>    <div>        <asp:Label ID=“Label1″ runat=“server” Text=“http://forums.asp.net/Themes/FAN/style/i/logo.png”            onmouseout=“HandleMouseOut()” onmouseover=“HandleMouseOver(this)”></asp:Label>        <br />        <br />        <br />        <br />        <asp:Label ID=“Label2″ runat=“server” Text=“http://forums.asp.net/Themes/fan/images/roleicons/a874d69e-0ac8-4b80-acc7-512767e281f6.gif”            onmouseout=“HandleMouseOut()” onmouseover=“HandleMouseOver(this)”></asp:Label>    </div>    </form></body>


上一篇:poj1575

下一篇:雙向隊列

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产免费一区二区三区香蕉精| 夜夜嗨av一区二区三区免费区| 亚洲欧美日韩国产中文专区| 亚洲精品97久久| 国产亚洲激情视频在线| 亚洲一区999| 岛国av一区二区| 欧美成人精品激情在线观看| 国产精品一区二区三| 亚洲国产日韩一区| 国产精品日韩欧美| 欧美性视频在线| 深夜精品寂寞黄网站在线观看| 日韩av在线导航| 国产精品男人的天堂| 欧美午夜激情视频| 亚洲精品久久久久久久久久久久久| 国产精品丝袜久久久久久高清| 欧美激情精品久久久久久变态| 九色成人免费视频| 成人免费看片视频| 久久久av免费| 国产美女91呻吟求| 欧美日韩精品二区| 热久久这里只有| 亚洲综合在线播放| 色综合视频网站| 97人人爽人人喊人人模波多| 亚洲激情视频在线| 欧美日韩xxx| 一区二区三区视频在线| 欧美日韩第一视频| 成人亚洲欧美一区二区三区| 国产精品一区二区久久精品| 国产精品网站视频| 九九热这里只有精品免费看| 中文欧美日本在线资源| 国产在线a不卡| 国产中文欧美精品| 国产极品jizzhd欧美| 91网在线免费观看| 成人中文字幕在线观看| 疯狂做受xxxx高潮欧美日本| 亚洲一区二区三区sesese| 正在播放国产一区| 亚洲精品色婷婷福利天堂| 亚洲国产日韩欧美在线99| 美女av一区二区三区| 一本大道久久加勒比香蕉| 中文字幕亚洲专区| 97视频在线观看免费高清完整版在线观看| 国产精品高潮呻吟久久av野狼| 亚洲女人天堂网| 亚洲精品视频中文字幕| 国产精品高潮呻吟久久av黑人| 亚洲一二在线观看| 91产国在线观看动作片喷水| 欧美资源在线观看| 久久亚洲精品中文字幕冲田杏梨| 国产视频在线一区二区| 国产精品视频一区二区高潮| 91国产高清在线| 日本一区二区三区四区视频| 青青草成人在线| 亚洲黄色av网站| 免费av在线一区| 亚洲人成在线一二| 欧美成人精品三级在线观看| 成人av色在线观看| 精品日本高清在线播放| 一区二区欧美激情| 成人激情视频在线播放| 亚洲va欧美va国产综合久久| 91精品啪在线观看麻豆免费| 国产成人精品视| 久久精品欧美视频| 久久精品99无色码中文字幕| 午夜欧美不卡精品aaaaa| 成人黄色免费网站在线观看| 欧美成人第一页| 亚洲精品国产成人| 国产成人+综合亚洲+天堂| 欧美在线影院在线视频| 九色91av视频| 激情懂色av一区av二区av| 国产精品久久久久久久av大片| 精品国产老师黑色丝袜高跟鞋| 日韩美女毛茸茸| 精品久久久久久中文字幕| 欧美亚洲国产成人精品| 91久久久久久久久久久久久| 一本色道久久88综合日韩精品| 人人做人人澡人人爽欧美| 日韩欧美亚洲成人| 欧美大尺度在线观看| 7777精品久久久久久| 另类专区欧美制服同性| 国产精品一区av| 91av在线不卡| 日韩欧美国产网站| 欧美激情一区二区三区高清视频| 日韩精品极品视频免费观看| 国产香蕉97碰碰久久人人| 日韩在线视频免费观看| 欧美日韩在线视频一区| 亚洲视频一区二区三区| 日韩一中文字幕| 亚洲成人久久电影| 国产一区二区三区四区福利| 7m第一福利500精品视频| 国产视频一区在线| 性色av一区二区咪爱| 国产精品嫩草影院久久久| 国产一区二区三区四区福利| 91精品国产综合久久香蕉的用户体验| 一本色道久久88亚洲综合88| 国产精品亚洲精品| 日韩av色在线| 国产日韩欧美电影在线观看| 成人午夜激情网| 亚洲人成电影网站色xx| 欧美一级bbbbb性bbbb喷潮片| 国产成人精品网站| 色综合伊人色综合网站| 亚洲黄色av女优在线观看| 亚洲欧美国产精品| 国产一区二区三区精品久久久| 中文字幕在线观看亚洲| 7m第一福利500精品视频| 国产精品久久久久福利| 国产亚洲欧美另类中文| 另类少妇人与禽zozz0性伦| 国产精品视频男人的天堂| 久久精品91久久久久久再现| 久久亚洲私人国产精品va| 91在线观看免费| 国产精品视频网址| 精品久久久香蕉免费精品视频| 日本伊人精品一区二区三区介绍| 日韩精品丝袜在线| 日韩欧美高清在线视频| 日韩电影视频免费| 亚洲国产精品女人久久久| 欧美日韩中国免费专区在线看| 91久久精品视频| www.日韩av.com| 尤物yw午夜国产精品视频明星| 日本不卡免费高清视频| 国产精品久久久久久久久久尿| 欧美精品在线免费| 大荫蒂欧美视频另类xxxx| 欧美一级电影久久| 精品免费在线视频| 日韩资源在线观看| 亚洲福利视频网| 国产成人中文字幕| 富二代精品短视频| 中文字幕av一区二区三区谷原希美| 亚洲精品视频网上网址在线观看| 亚洲国产成人精品一区二区| 亚洲激情在线观看视频免费| 亚洲激情视频网站| 亚洲天堂一区二区三区| 国产精品久久久久久久久久99|