运行 自定义母版页上的 C# 代码
Run C# code on custom master page
我有两个文件,如果页面上没有特定的获取请求,我只想包含它们。
这是我在自定义母版页上使用的代码:
<% if(Request.QueryString["edit"]!=null){ %>
<link rel="stylesheet" href="/SiteAssets/SP2013Accordion/SP2013Accordion.css" />
<script src="/SiteAssets/SP2013Accordion/SP2013Accordion.js" type="text/javascript"></script>
<% } %>
但是我得到这个错误:
Error processing /sites/develop_apps/phiterpub/_catalogs/masterpage/newseattle.master. Code blocks are not allowed in this file.
所以,显然我无法 运行 此页面上的 C# 代码。
我知道之前有人问过这个问题,但也许有一个简单的 HTML 唯一的方法...
有什么方法可以运行允许使用此功能或类似功能吗?
我针对上述场景提出了一个解决方案,您无需在 master 上编写内联 C# 代码page.Also在这种情况下这样做对于实现此要求并不优雅。
What you can do is get the query string value "edit" by using javascript and then conditionally load your css and your js files.
注意getQueryStringParameterByName
这是一个您必须编写的方法来提取查询字符串值。
var edit = getQueryStringParameterByName('edit');
if(edit != '')
{
loadcssFile('/SiteAssets/SP2013Accordion/SP2013Accordion.css');
loadjsFile('/SiteAssets/SP2013Accordion/SP2013Accordion.css');
}
加载css文件的方法
function loadcssFile(cssfile){
loadcss = document.createElement('link')
loadcss.setAttribute("rel", "stylesheet")
loadcss.setAttribute("type", "text/css")
loadcss.setAttribute("href", cssfile)
document.getElementsByTagName("head")[0].appendChild(loadcss)
}
以及加载js的方法
function loadjsFile(scriptFile){
loadScript = document.createElement('SCRIPT')
loadScript.setAttribute("charset", "utf-8")
loadScript.setAttribute("type", "text/javascript")
loadScript.setAttribute("src", scriptFile)
document.getElementsByTagName("head")[0].appendChild(loadScript)
}
我有两个文件,如果页面上没有特定的获取请求,我只想包含它们。
这是我在自定义母版页上使用的代码:
<% if(Request.QueryString["edit"]!=null){ %>
<link rel="stylesheet" href="/SiteAssets/SP2013Accordion/SP2013Accordion.css" />
<script src="/SiteAssets/SP2013Accordion/SP2013Accordion.js" type="text/javascript"></script>
<% } %>
但是我得到这个错误:
Error processing /sites/develop_apps/phiterpub/_catalogs/masterpage/newseattle.master. Code blocks are not allowed in this file.
所以,显然我无法 运行 此页面上的 C# 代码。
我知道之前有人问过这个问题,但也许有一个简单的 HTML 唯一的方法...
有什么方法可以运行允许使用此功能或类似功能吗?
我针对上述场景提出了一个解决方案,您无需在 master 上编写内联 C# 代码page.Also在这种情况下这样做对于实现此要求并不优雅。
What you can do is get the query string value "edit" by using javascript and then conditionally load your css and your js files.
注意getQueryStringParameterByName
这是一个您必须编写的方法来提取查询字符串值。
var edit = getQueryStringParameterByName('edit');
if(edit != '')
{
loadcssFile('/SiteAssets/SP2013Accordion/SP2013Accordion.css');
loadjsFile('/SiteAssets/SP2013Accordion/SP2013Accordion.css');
}
加载css文件的方法
function loadcssFile(cssfile){
loadcss = document.createElement('link')
loadcss.setAttribute("rel", "stylesheet")
loadcss.setAttribute("type", "text/css")
loadcss.setAttribute("href", cssfile)
document.getElementsByTagName("head")[0].appendChild(loadcss)
}
以及加载js的方法
function loadjsFile(scriptFile){
loadScript = document.createElement('SCRIPT')
loadScript.setAttribute("charset", "utf-8")
loadScript.setAttribute("type", "text/javascript")
loadScript.setAttribute("src", scriptFile)
document.getElementsByTagName("head")[0].appendChild(loadScript)
}