C# 如何在Web部件中使用javascript和css?
我正在将SharePoint Server 2007 Enterprise与Windows Server 2008 Enterprise一起使用。我正在使用发布门户模板。我正在使用VSTS2008+C++.NET3.5+ASP.Net进行开发。我想开发一个Web部件,它引用css和javascript(.js)文件。我的问题是(1)如何部署css/javascript文件,以及(2)如何从webpart编写引用路径(例如下面代码中的../../themes)以引用相关的css/javascript文件 顺便说一句:css/javascript/Webpart的现有代码来自现有的aspx代码,我正在将aspx代码迁移到一个Webpart。该代码在aspx中工作 目前我的代码是这样的C# 如何在Web部件中使用javascript和css?,c#,.net,visual-studio-2008,sharepoint-2007,web-parts,C#,.net,Visual Studio 2008,Sharepoint 2007,Web Parts,我正在将SharePoint Server 2007 Enterprise与Windows Server 2008 Enterprise一起使用。我正在使用发布门户模板。我正在使用VSTS2008+C++.NET3.5+ASP.Net进行开发。我想开发一个Web部件,它引用css和javascript(.js)文件。我的问题是(1)如何部署css/javascript文件,以及(2)如何从webpart编写引用路径(例如下面代码中的../../themes)以引用相关的css/javascrip
<link type="text/css" href="../../themes/test.css" rel="stylesheet" />
<script type="text/javascript" src="../../test.js"></script>
对于javascript,有
css没有等效的方法,但您可以:
最佳实践表明,您不应该像我上面所做的那样(或在嵌入式资源中)包含css。您应该使用上面的方法1。您可以使用我的HtmlHelper类
class HtmlHelper
{
public static void IncludeScript(Page page, String key, String location)
{
if (!page.ClientScript.IsClientScriptIncludeRegistered(key))
page.ClientScript.RegisterClientScriptInclude(key, location);
}
public static void IncludeCSS(Page page, String src)
{
HtmlLink css = new HtmlLink();
css.Href = src;
css.Attributes["rel"] = "stylesheet";
css.Attributes["type"] = "text/css";
css.Attributes["media"] = "all";
page.Header.Controls.Add(css);
}
}
你可以使用我的HtmlHelper类
class HtmlHelper
{
public static void IncludeScript(Page page, String key, String location)
{
if (!page.ClientScript.IsClientScriptIncludeRegistered(key))
page.ClientScript.RegisterClientScriptInclude(key, location);
}
public static void IncludeCSS(Page page, String src)
{
HtmlLink css = new HtmlLink();
css.Href = src;
css.Attributes["rel"] = "stylesheet";
css.Attributes["type"] = "text/css";
css.Attributes["media"] = "all";
page.Header.Controls.Add(css);
}
}
为什么我需要使用客户端脚本管理器来注册它,以便在Web部件中使用它?为什么我不能像我们在html/aspx代码中所做的那样,从相对路径引用css/javascript文件?从技术上讲,您可以。它将起作用(路径必须相对于页面)。但是如果您在多个页面中使用web部件,并且路径不同怎么办?为什么我需要使用客户端脚本管理器来注册它,以便在web部件中使用它?为什么我不能像我们在html/aspx代码中所做的那样,从相对路径引用css/javascript文件?从技术上讲,您可以。它将起作用(路径必须相对于页面)。但是,如果在多个页面中使用web部件,并且路径不同,该怎么办?