首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >单击按钮后,工具提示计算出asp按钮的链接

单击按钮后,工具提示计算出asp按钮的链接
EN

Stack Overflow用户
提问于 2015-05-19 15:01:25
回答 3查看 2K关注 0票数 17
<ItemTemplate>
  <tr>
  <asp:LinkButton ID="btnID" runat="server"  
   ToolTip='The calculated IDs are: ' OnCommand="showIds"
   CommandArgument='<%# Convert.ToInt32(Eval("Year")) + "," +   
   Convert.ToInt32(Eval("Month")) %>'>
  <%# Convert.ToInt32(Eval("Count")) - Convert.ToInt32(Eval("LittleCount"))%>
  </asp:LinkButton>
  </tr>
 </ItemTemplate>

正如您注意到的,工具提示文本是静态的。在后台代码中,每次单击上面的按钮(作为List<ExpressionListDictionary>包含的protected void showIds(object sender, CommandEventArgs e) { .... })时,我都会计算并获得一些整数( In )。( asp:LinkButton包含在asp:ListView中)

我想要做的是,将工具提示更改为动态提示,包含所有已获得的is作为链接。(类似于:http://jsfiddle.net/IrvinDominin/jLkcs/5/ -但在我的例子中,我首先需要单击按钮来计算is,然后我需要从代码中更改工具提示文本,因为它需要显示各自的is,如果可能的话,作为链接)

我如何才能做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-22 14:52:36

如果您有一个类(或id或其他东西)来标识按钮,那么可以创建一个jQuery document ready函数,将带有id的工具提示更改为包含id的链接。我修改了你的小提琴:http://jsfiddle.net/jLkcs/545/

$(document).ready(function () {
     $(".myLinkButton").each(function() {
           createlink(this);
     });
});

function createlink(obj){
   var ids= $(obj).attr('title');
    var linkHtml="<a href='javascript:alert(" + ids + ")'>link</a>"
   $(obj).attr('title',linkHtml);
}
票数 5
EN

Stack Overflow用户

发布于 2015-05-22 15:09:04

为什么不在回发时简单地调整代码后台中的ToolTip呢?

protected void showIds(object sender, CommandEventArgs e)
{
    ((LinkButton)sender).ToolTip = "blahblah";
}
票数 3
EN

Stack Overflow用户

发布于 2015-05-22 16:41:57

如果CommandEventArgs CommandName与您定义的your相同,则可以设置发件人属性

public void LinkButton_Command(Object sender, CommandEventArgs e)
    {
        if (e.CommandName.Equals("showIds"))
        {
        //
        }
    }

这是一个有效的例子,不包括使用了什么用户控件LinkButton,这是可行的:

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : Page
{
    public string btnNoTooltip = "No IDs are calculated";
    public string btnTooltip = "The calculated IDs are:";

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public void LinkButton_Command(Object sender, CommandEventArgs e)
    {
        if (e.CommandName.Equals("LinkButtonOrder"))
        {
            LinkButton lkTrigger = (LinkButton)sender;
            if (lkTrigger.ToolTip.Equals(btnNoTooltip))
            {
                lkTrigger.ToolTip = btnTooltip + " " + e.CommandArgument;
            }
            else
            {
                lkTrigger.ToolTip += " " + e.CommandArgument;
            }

            Random random = new Random();
            lkTrigger.CommandArgument = random.Next(0, 100).ToString();

            Label1.Text = "Triggered: " + e.CommandName + " with Argument " + e.CommandArgument;
        }
    }
}

标记:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

     <h3>LinkButton Command Event Example</h3>

      <asp:LinkButton id="LinkButton1" 
           Text="Order Item Here"
           CommandName="LinkButtonOrder"               
           ToolTip='No IDs are calculated'
           CommandArgument="01" 
           OnCommand="LinkButton_Command" 
           runat="server"/>

      <br />

      <asp:LinkButton id="LinkButton2" 
           Text="Or Order Item Here"
           CommandName="LinkButtonOrder"               
           CommandArgument="02"
           ToolTip='No IDs are calculated' 
           OnCommand="LinkButton_Command" 
           Runat="server"/>

      <br />
      <br />

      <asp:Label id="Label1" runat="server"/>
    <asp:PlaceHolder id="plhInjectId" runat="server" Visible="false"></asp:PlaceHolder>
</asp:Content>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30318772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档