我的母版页包含<!DOCTYPE>
和<head>
部分,如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>CMIS</title>
<link href="~/Site.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
在MyControl.ascx(FieldTemplateUserControl)中,我有:
<iframe id="Iframe1" runat="server" src="<%# GetNavigateUrl() %>" width="600" height="400">
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="<%# GetNavigateUrl() %>" Target="_blank" Text="View" />
</iframe>
渲染页面上面的HTML输出如下:
<iframe id="ContentPlaceHolder1_FormView1_ctl04_ctl05___HelpHtml_Iframe1" width="600" height="400" src="/CMIS/Special/OutputHtml.aspx?Table=UserChecklist&Id=67">
<a id="ContentPlaceHolder1_FormView1_ctl04_ctl05___HelpHtml_HyperLink2" href="/CMIS/Special/OutputHtml.aspx?Table=UserChecklist&amp;Id=67" target="_blank">View</a>
</iframe>
<iframe>
的内容当然不应该是HTML编码的?这是一个ASP.net错误吗?
如何阻止这种情况发生?
编辑:抱歉这与CsQuery(一个呈现HTML的DLL)有关
答案 0 :(得分:0)
我认为您不能将代码放在 IFRAME标记中。 IFRAME不能有内部标记。您只能通过设置src
属性来加载IFRAME。
答案 1 :(得分:0)
由DLL引起的问题是渲染标记而不是正常的ASP.NET渲染。