asp.net – HtmlGenericControl(“br”)呈现两次
发布时间:2020-05-22 11:17:38 所属栏目:asp.Net 来源:互联网
导读:我正在从代码后面的某个网页添加一些内容.当我想在一些文本后添加一个中断时,我尝试这样做: pDoc.Controls.Add(New Label With {.Text = whatever})pDoc.Controls.Add(New HtmlGenericControl(br)) ,其中pDoc是我正在添加内容的Panel.但它在最终的HTML中添加
|
我正在从代码后面的某个网页添加一些内容.当我想在一些文本后添加一个中断时,我尝试这样做: pDoc.Controls.Add(New Label With {.Text = "whatever"})
pDoc.Controls.Add(New HtmlGenericControl("br"))
,其中pDoc是我正在添加内容的Panel.但它在最终的HTML中添加了两个br标签. 我这样避免这种行为: pDoc.Controls.Add(New Label With {.Text = "whatever" & "<br />"})
无论如何,我很好奇,我想知道为什么 pDoc.Controls.Add(New HtmlGenericControl("br"))
这样做.我也认为我的方法不太花哨. 问候, 解决方法经过一些测试后看起来原因是HtmlGenericControl不支持自闭.在服务器端,HtmlGenericControl(“br”)被视为:<br runat="server"></br> 没有< / br> HTML中的标记,因此浏览器显示它,因为有两个< br />标签.很好的方法是这样创建HtmlGenericSelfCloseControl(抱歉C#代码,但在VB.NET中重写这个应该没有问题): public class HtmlGenericSelfCloseControl : HtmlGenericControl
{
public HtmlGenericSelfCloseControl()
: base()
{
}
public HtmlGenericSelfCloseControl(string tag)
: base(tag)
{
}
protected override void Render(HtmlTextWriter writer)
{
writer.Write(HtmlTextWriter.TagLeftChar + this.TagName);
Attributes.Render(writer);
writer.Write(HtmlTextWriter.SelfClosingTagEnd);
}
public override ControlCollection Controls
{
get { throw new Exception("Self closing tag can't have child controls"); }
}
public override string InnerHtml
{
get { return String.Empty; }
set { throw new Exception("Self closing tag can't have inner content"); }
}
public override string InnerText
{
get { return String.Empty; }
set { throw new Exception("Self closing tag can't have inner text"); }
}
}
而是使用它: pDoc.Controls.Add(New Label With {.Text = "whatever"})
pDoc.Controls.Add(New HtmlGenericSelfCloseControl("br"))
作为一个更简单的替代方法(如果您引用了Page),您可以尝试使用Page.ParseControl: pDoc.Controls.Add(New Label With {.Text = "whatever"})
pDoc.Controls.Add(Page.ParseControl("br")) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何在asp.net mvc中创建一个弹出窗口?
- asp.net – WebForm_DoCallback定义
- asp.net-mvc – requestValidationMode =“2.0”实际上是做
- asp.net-mvc-3 – CSS3 @ font-face休息Razor解析器 – 它可
- asp.net – System.Diagnostics.Process.Start不能从IIS工作
- asp.net – 如何设置MVC应用程序的默认页面?
- asp.net – 从wsdl生成webservice
- ASP.NET搜索引擎
- asp.net-web-api – 将Application Insight与ASP API Core结
- asp.net-mvc – 适用于大型网站的ASP.NET MVC项目结构
推荐文章
站长推荐
- asp.net-mvc-3 – 从JsonResult MVC3 / Razor中动
- asp.net-mvc – 自定义ActionLink帮助器,它知道你
- asp.net – 如何增加Web服务请求的超时?
- asp.net – DirectoryServicesCOMException 8007
- asp.net – 我应该使用WebMatrix构建一个真实世界
- 用于XmlHttpRequest的WebAPI的CORS
- iis – ASP.NET网站文件被黑了……怎么样?
- asp.net jQuery Ajax用户登录功能的实现
- asp.net – 如何使用DataPager与服务器端寻呼?
- .net – 如何在请求标头上调用需要承载令牌的NSw
热点阅读
