spl*_*tne 7 asp.net master-pages header declarative
我知道我可以访问以这种方式编程使用母版页的页面的head部分(在代码后面):
这只是一个例子(我想插入脚本和样式等):
this.Header.Title = "I just set the page's title";
Run Code Online (Sandbox Code Playgroud)
在aspx文件本身中是否有一种以声明方式执行此操作的简单方法?
有时,将客户端脚本或样式声明或链接插入外部资源会很方便.
Luk*_*keH 22
您可以通过使用内容区域来完成此操作head
,方式与body
在页面中完全相同.例如,在您的母版页中:
<head>
<link type="text/css" rel="stylesheet" href="/styles/common1.css" />
<script type="text/javascript" src="/scripts/common1.js"></script>
<asp:contentplaceholder id="ExtraStylesAndScripts" runat="server" />
</head>
Run Code Online (Sandbox Code Playgroud)
然后在页面本身就像:
<asp:content contentplaceholderid="ExtraStylesAndScripts" runat="server">
<link type="text/css" rel="stylesheet" href="/styles/extra1.css" />
<link type="text/css" rel="stylesheet" href="/styles/extra2.css" />
<script type="text/javascript" src="/scripts/extra1.js"></script>
<script type="text/javascript" src="/scripts/extra2.js"></script>
</asp:content>
Run Code Online (Sandbox Code Playgroud)
对于样式表,您可以使用:
HtmlLink cssRef = new HtmlLink();
cssRef.Href = "addins/main.css";
cssRef.Attributes["rel"] = "stylesheet";
cssRef.Attributes["type"] = "text/css";
Page.Header.Controls.Add(cssRef);
Run Code Online (Sandbox Code Playgroud)
对于Meta标签:
HtmlMeta metaTag = new HtmlMeta();
metaTag.Name = "author";
metaTag.Content = "ScarletGarden";
Page.Header.Controls.Add(metaTag);
Run Code Online (Sandbox Code Playgroud)
但是没有办法将外部脚本文件添加到header元素中.
您可以通过以下方式添加body body元素:
if (!ClientScript.IsClientScriptIncludeRegistered("myExternalScript"))
{
ClientScript.RegisterClientScriptInclude("myExternalScript", "js/myJSFile.js");
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 !
归档时间: |
|
查看次数: |
24884 次 |
最近记录: |