Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net控件输出范围标记,是否删除?_C#_Asp.net_Html_.net - Fatal编程技术网

C# .net控件输出范围标记,是否删除?

C# .net控件输出范围标记,是否删除?,c#,asp.net,html,.net,C#,Asp.net,Html,.net,我在一个内置于.net的网站上工作-我不知道这是如何工作的,但我有以下几点 <asp:DataPager ID="DP" runat="server" PagedControlID="LV" PageSize="5" QueryStringField="jobs"> <Fields> <asp:NumericPagerField /> </Fields> </asp:DataPager> 是否有一种

我在一个内置于.net的网站上工作-我不知道这是如何工作的,但我有以下几点

<asp:DataPager ID="DP" runat="server" PagedControlID="LV" PageSize="5" QueryStringField="jobs">
    <Fields>
        <asp:NumericPagerField />
    </Fields>
</asp:DataPager>

是否有一种方法可以将其输出为或不可能

<div>
    <span>
    <a>

CssClass
添加到


它应该输出:

<span id="ctl00_ContentPlaceHolder1_ctl00_ctl00_ctl00_DP" class="myCSSClass">


…您可以从那里相应地进行样式设置。

CssClass
添加到


它应该输出:

<span id="ctl00_ContentPlaceHolder1_ctl00_ctl00_ctl00_DP" class="myCSSClass">


…您可以从那里进行相应的样式设置。

据我所知,
DataPager
不支持开箱即用。但是您可以通过重写
TagKey
属性来扩展
DataPager
类:

public class YourDataPager : DataPager
{
   protected override HtmlTextWriterTag TagKey 
   {
      get { return HtmlTextWriterTag.Div; }
   }
}

现在,
DataPager
应该作为
输出,而不是
据我所知,
DataPager
不支持开箱即用。但是您可以通过重写
TagKey
属性来扩展
DataPager
类:

public class YourDataPager : DataPager
{
   protected override HtmlTextWriterTag TagKey 
   {
      get { return HtmlTextWriterTag.Div; }
   }
}

现在,
您的DataPager
应该以
的形式输出,而不是在服务器控件中以
的形式输出,您可以覆盖
渲染开始标记
方法:

public override void RenderBeginTag(System.Web.UI.HtmlTextWriter writer)
{
    writer.Write(String.Format("<div id=\"{0}\" class=\"{1}\">",
                               this.ClientID,this.CssClass));
}
public override void RenderBeginTag(System.Web.UI.HtmlTextWriter)
{
writer.Write(String.Format(“,”),
这个.ClientID,这个.CssClass));
}

在服务器控件中,您可以覆盖
RenderBeginTag
方法:

public override void RenderBeginTag(System.Web.UI.HtmlTextWriter writer)
{
    writer.Write(String.Format("<div id=\"{0}\" class=\"{1}\">",
                               this.ClientID,this.CssClass));
}
public override void RenderBeginTag(System.Web.UI.HtmlTextWriter)
{
writer.Write(String.Format(“,”),
这个.ClientID,这个.CssClass));
}

谢谢@JamesDonnelly,有没有办法删除父span并将其作为div?我真的不想在跨度内嵌套跨度?我不确定,抱歉。我以前很少使用ASP.NET,而
CssClass
是我用于样式设计的解决方案。谢谢@JamesDonnelly,有没有办法删除父span并将其作为div?我真的不想在跨度内嵌套跨度?我不确定,抱歉。我以前很少使用ASP.NET,而
CssClass
是我用于设计样式的解决方案。您能解释一下为什么要将span更改为div吗?您能解释一下为什么要将span更改为div吗?当然,您还需要覆盖
renderndtag
!当然,您还需要覆盖
renderndtag
+我不知道这样做,而不是手动覆盖-更整洁-我去改变我的代码+我不知道这样做,而不是手动覆盖-更整洁-我去改变我的代码!