我想做这样的事情:

<asp:Label ID="lblMyLabel" onclick="lblMyLabel_Click" runat="server">My Label</asp:Label>

我知道用Javascript我可以做到:

<span onclick="foo();">My Label</span>

所以我想知道为什么我不能用标签对象来做这件事.

推荐答案

可以使用属性添加onclick客户端回调.

我不知道你可以在span标签上这样做,但是如果它起作用了,你可以把‘onclick’加到lblMyLabel.Attributes.Add("onclick", "foo();");

但是foo();需要是一个客户端javascript函数.

System.Web.UI.WebControls.Label没有onClick服务器事件.如果您需要上面示例中的服务器回调,可以考虑使用Ajax.

你也可以像其他人说的那样使用LinkButton.你可以通过使用CSS使它看起来不像一个链接,如果它只是你所关心的下划线.

ASPX:

<asp:LinkButton ID="LinkButton1" runat="server" 
    CssClass="imjusttext" OnClick="LinkButton1_Click">
LinkButton
</asp:LinkButton>

CSS:

a.imjusttext{ color: #000000; text-decoration: none; }
a.imjusttext:hover { text-decoration: none; }

Asp.net相关问答推荐

如何在 IIS 上配置 Web Deploy 发布功能,以便开发人员可以发布?

带有模型的 mvc 上传文件 - 第二个参数发布的文件为空

将 Global.asax 迁移到 Startup.cs

是否可以在没有那些 .svn 文件夹的情况下从 subversion 签出文件?

有没有办法在外部 javascript 文件中使用<%= someObject.ClientID %>?

在 Blazor 中 Select 框绑定

最佳服务器端 .NET PDF 编辑库

MVC 3视图中的当前上下文中不存在名称'HTML'

如何找出我的 Windows 域上托管 LDAP 的服务器?

在asp.net控件之间动态添加

如何在 ASP.NET 站点中添加 favicon.ico

当.NET抛出WebException((400)错误请求)时如何处理WebResponse?

System.Reflection.Assembly.LoadFile 锁定文件

如何告诉 RadioButtonList 不生成表格

ExecuteReader:连接属性尚未初始化

您可以从 web.config 文件中的其他位置提取 log4net AdoNetAppender 的 connectionString 吗?

强制 IIS Express 进入classic 管道模式

try 为 Medium Trust 开发是否会失败?

无法使用 ip:port 访问 WEB API,但可以在 VS 调试模式下使用 localhost:port

禁用文本框的模型绑定