在 HtmlTextWriterAttribute 中实现 runat
嗨,亲爱的朋友,我有 Web 自定义控制
Window 类的渲染函数
protected override void RenderContents(HtmlTextWriter wr)
{
wr.AddAttribute("runat", "server",true);
wr.AddAttribute("id", this.UniqueID, false);
wr.RenderBeginTag(HtmlTextWriterTag.Div);
wr.RenderEndTag();
wr.WriteLine();
base.RenderContents(wr);
}
在网页上使用:
(cc1:Window ID="Window1" runat="server" ) (div) runat="server" id="aaaa"(/div)
浏览器源结果:
(span id="Window1")(div runat="server" id="Window1") (/div) 跨度) (div) id="aaaa"(/div)
Hi dear friends, i have web custom control
this render function of Window class
protected override void RenderContents(HtmlTextWriter wr)
{
wr.AddAttribute("runat", "server",true);
wr.AddAttribute("id", this.UniqueID, false);
wr.RenderBeginTag(HtmlTextWriterTag.Div);
wr.RenderEndTag();
wr.WriteLine();
base.RenderContents(wr);
}
Use on web page:
(cc1:Window ID="Window1" runat="server" )
(div) runat="server" id="aaaa"(/div)
Browser sourse result:
(span id="Window1")(div runat="server" id="Window1")
(/div)
span)
(div) id="aaaa"(/div)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你从来没有在你的问题中真正提出过一个问题。无论如何,我认为您希望自定义控件像
一样呈现。
runat="server"
仅在解析 html 代码期间使用,在您的控件中没有用处。You never once in your question actually state a question. Anyhow, I think you want your custom control to render like a
<div runat="server">
.runat="server"
is only used during parsing of your html code, and have no use in your controls.我不确定您的使用示例是否只是发布时的拼写错误和格式错误,或者您实际上是否是这样使用它的(除非我知道您发布了
<...> as
(...)
,这不是我的问题)。您应该首先将控制类实现为 西蒙·斯文森建议。
"aaaa" 的 div 成为控件 div 标记内的 html 标记,则应该像这样使用它(注意结尾
):
然后,如果您希望 id = 在网页上:
浏览器源码结果:
正如Simon所说,
runat="server"
主要用于服务器控件,对于渲染的HTML控件没有任何意义。I am not sure if your example of use is just typo and formatting errors when posting, or if it is actually this way you use it (exept I understand that you posted
<...>
as(...)
, which is not my issue here).You should start with implementing your control class as suggested by Simon Svensson.
Then, if you want your div with id="aaaa" be a html tag inside your controls div tag, you should use it like this (note the ending
</cc1:Window>
):Use on web page:
Browser source result:
As Simon said,
runat="server"
is mainly used for server controls, and has no meaning for the rendered HTML controls.