【问题标题】:How to show Selected linkbutton amongs set of linkbuttons in asp.net?如何在asp.net中的一组链接按钮中显示选定的链接按钮?
【发布时间】:2010-12-23 08:26:38
【问题描述】:

我有一个 aspx 页面。上面有一组链接按钮。

linkbutton1

linkbutton2

linkbutton3

linkbutton4

linkbutton5

如果我点击其中任何一个。它应该被突出显示。

这些链接按钮在表格中。

感谢您的帮助。

【问题讨论】:

  • the table 指的是什么表? selected 的链接按钮是什么意思?点击? highlighted 对他们意味着什么?一些CSS效果?您是否希望回发事件发生?如果不是,为什么它们是链接按钮?
  • 我提到了选择的方法。点击它。
  • 不幸的是,您没有准确说明表的结构是什么,因此我们可能在此处发布的任何 javascript/DOM 解析都可能无效。另外,您希望这种效果完全是客户端的,还是您想要一个带有回发的 asp 解决方案?另外,我没有得到你上面的评论,你能再告诉一下“突出显示”对你意味着什么吗?
  • 对不起。不便 。那组链接按钮就像我放在上面的那样。如果我选择意味着单击其中任何一个。这意味着它被突出显示。表示与其他链接按钮不同。好的。任何代码都被接受。无论是其背后的代码还是 javascript 或 css 类。没关系。好的。谢谢。供您评论

标签: .net asp.net css


【解决方案1】:

我最近几周经常在我的页面中构建相同的内容。

我看到你有 2 个选项,关于你背后的代码,我不知道:

1) 您的链接按钮链接到一个特殊站点(作为超链接)。比您可以通过单击鼠标悬停它的实际站点找到的。

2)您的链接按钮只激活代码,而不是您可以制作普通的“linkbutton1.Font.Bold = true”或类似的东西。

如果你想通过 CSS 作为我的知识,这是不可能的,因为没有呈现为 -tag。

【讨论】:

  • 我可以使用一些代码在 .net 中做到这一点。如果您想看到它,这是非常完美的。我会告诉你。给我评论。我会把它放在这里。为你。但你的答案绝对是错误的
【解决方案2】:

如果您将 CssClass 添加到任何链接按钮,例如

<asp:LinkButton ID="LinkButton1" runat="server" CssClass="linkbtn" />

你可以在 CSS 中定义高亮样式

.linkbtn .highlighted { color: red; }

并使用一些 javascript 来切换类。在 jQuery 中它看起来像:

$(".linkbtn").click(function () {
   $(".linkbtn").removeClass("highlighted");
   $(this).addClass("highlighted");
});

在 ASP.Net 中只使用

<asp:LinkButton id="LinkButton4" OnClick="LinkButton4_Click" runat="server"/>

在代码隐藏中

private void SetHighlighted(LinkButton btn)
{
  LinkButton1.CssClass = "";
  LinkButton2.CssClass = "";
  LinkButton3.CssClass = "";
  LinkButton4.CssClass = "";
  LinkButton5.CssClass = "";

  btn.CssClass = "highlighted";
}

protected void LinkButton4_Click(object sender, EventArgs e)
{
  SetHighlighted((LinkButton)sender);
}

对每个链接按钮执行此操作

【讨论】:

  • 确保每个链接按钮都指向 LinkBut​​ton4_Click,因为它是 OnClick 事件处理程序。只是为了澄清......
  • 嘿!对于 css 样式表,我做了这么多编码?从编程的角度来看,这是好事吗?
  • 非常感谢您..为您所做的大量工作。但它比我预期的要长得多。对不起朋友
  • 投反对票的原因?!该解决方案完全符合 Sikender 的要求。
  • +1 不仅因为这是考虑到多个观点的正确答案,还因为投反对票的人显然是个白痴。有点奇怪,每个人都投了反对票,而 Sikender 的每一条评论都投了赞成票……很奇怪。但是 Jan 做得很好,用绝对最少的信息完美地完成了。
【解决方案3】:

您可以使用 css 轻松解决此问题。

当您处理链接按钮单击事件时,将链接按钮的 CSSClass 属性设置为一个类,以将其与列表中的其他链接按钮区分开来。

例如,在页面加载时,您可以将所有链接按钮 CSSClass 属性设置为 Link,并将此类定义为超链接的标准外观。 8pt、tahoma、下划线等。

创建另一个名为 LinkSelected 的类,并将其设置为 8pt、tahoma、下划线和粗体。

在您的链接按钮单击处理程序集myLink.CSSClass="LinkSelected";((LinkButton)sender).CSSClass="LinkSelected";

您可以内联(不推荐)或在单独的 .css 文件中定义 Link 和 LinkSelected 类。

试一试,如果您需要更多详细信息,请告诉我。

【讨论】:

  • jans 的答案正是我要添加的详细信息。
  • 尝试刷新您的缓存浏览器。
猜你喜欢
  • 2013-02-13
  • 1970-01-01
  • 2010-10-27
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 2021-11-26
  • 2014-05-13
  • 1970-01-01
相关资源
最近更新 更多