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”
但事件并未触发。要求是锚只通过文字呈现。
请帮忙。
答案 0 :(得分:2)
虽然您的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");
}
答案 1 :(得分:1)
属性runat =“server”在客户端代码中没有意义(这是你在这里生成的)。您可能需要求助于调用Web服务。
答案 2 :(得分:0)
我们在文字之外使用锚标记。然后它工作正常
答案 3 :(得分:0)
如果您不想使用LinkButton,可以将您的Literal替换为您在Page_Load上添加的文本(不完全确定为什么要这样做?)。
然后运行AJAX Web请求以运行Download方法。