使用 HtmlGenericControl 添加标签
Add a tag using HtmlGenericControl
我想添加带有 onserverclick 属性的 'a' 标签
我正在使用以下 code.But onserverclick 事件未触发(不工作)
服务器点击:
protected void Pagination_Click(object sender, EventArgs e)
{
}
我的 C# 代码:
HtmlGenericControl li = new HtmlGenericControl("li");
olpage.Controls.Add(li);
HtmlGenericControl a = new HtmlGenericControl("a");
a.Attributes.Add("ID", i.ToString());
a.Attributes.Add("onserverclick", "Pagination_Click");
a.InnerHtml = i.ToString();
li.Controls.Add(a);
HTML代码:
<%@ Master Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"CodeFile="Products.master.cs" Inherits="Productmaster"%>...
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">...
<div class="pages">
<ol id="olpage" runat="server">
</ol>
</div>...
更改您的 C# 代码以使用 LinkButton 而不是 HTMLGenericControl,而不是设置 onserverclick 的属性,将其设置为 Click +=
LinkButton a = new LinkButton();
a.Attributes.Add("ID", i.ToString());
a.Click += Pagination_Click;
a.Text = i.ToString();
li.Controls.Add(a);
HTMLGenericControl 仅呈现为
<a id="id" onserverclick="Pagination_Click">id</a>
并且浏览器不知道如何处理 onserverclick 属性,因为它无效 HTML。使用 LinkButton 呈现为
<a id="id" href="javascript:__doPostBack('ctl00$MainContent$ctl01','')">id</a>
这实际上导致它 post 返回
我想添加带有 onserverclick 属性的 'a' 标签
我正在使用以下 code.But onserverclick 事件未触发(不工作)
服务器点击:
protected void Pagination_Click(object sender, EventArgs e)
{
}
我的 C# 代码:
HtmlGenericControl li = new HtmlGenericControl("li");
olpage.Controls.Add(li);
HtmlGenericControl a = new HtmlGenericControl("a");
a.Attributes.Add("ID", i.ToString());
a.Attributes.Add("onserverclick", "Pagination_Click");
a.InnerHtml = i.ToString();
li.Controls.Add(a);
HTML代码:
<%@ Master Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"CodeFile="Products.master.cs" Inherits="Productmaster"%>...
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">...
<div class="pages">
<ol id="olpage" runat="server">
</ol>
</div>...
更改您的 C# 代码以使用 LinkButton 而不是 HTMLGenericControl,而不是设置 onserverclick 的属性,将其设置为 Click +=
LinkButton a = new LinkButton();
a.Attributes.Add("ID", i.ToString());
a.Click += Pagination_Click;
a.Text = i.ToString();
li.Controls.Add(a);
HTMLGenericControl 仅呈现为
<a id="id" onserverclick="Pagination_Click">id</a>
并且浏览器不知道如何处理 onserverclick 属性,因为它无效 HTML。使用 LinkButton 呈现为
<a id="id" href="javascript:__doPostBack('ctl00$MainContent$ctl01','')">id</a>
这实际上导致它 post 返回