Literal中的锚控件
本文关键字:控件 Literal | 更新日期: 2023-09-27 17:54:06
using System;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
public void Download(object obj, EventArgs e)
{
Response.Write("abc");
}
protected void Page_Load(object sender, EventArgs e)
{
Literal1.Text = "<a id='anc' href ='#' runat='server' onserverclick='Download'>Click Me</a>";
Response.Write(Literal1.Text);
}
}
}
<div>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
我有上面的代码片段。我试图以以下方式将文字内的锚绑定到函数:onserverclick = "Download"
但是事件没有触发。要求是锚只通过字面量呈现。
请帮。
当您的Literal1
控件是服务器端控件时,设置。text值来表示服务器端控件将不起作用。
可以使用asp LinkButton
控件而不是文字
所以你的。aspx页面会有:
<asp:LinkButton ID="abc" runat="server" OnClick="Download" Text="Download" />
和.aspx.cs后面的代码如下:
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Download(object sender, EventArgs e)
{
Response.Write("abc");
}
属性runat="server"在客户端代码中是没有意义的(这就是您在这里生成的代码)。您可能需要调用web服务
我们在文字之外使用锚标记。然后就可以了
如果你不希望使用LinkButton,你可以用你在Page_Load上添加的文本替换你的Literal(不完全确定你为什么这样做?)。
然后运行一个AJAX web请求来运行Download方法