2010-01-12 7 views
0

J'utilise SharePoint Server 2007 Enterprise avec Windows Server 2008 Enterprise. Je développe en utilisant VSTS 2008 + C# + .Net 3.5 + ASP.Net. J'ai le code suivant qui fonctionne correctement dans ASP.Net (aspx) et je veux implémenter la même fonction dans un WebPart et déployer dans une page du site de portail de publication de SharePoint.Conversion du code asp.net en code WebPart Problème

Des idées comment mettre en œuvre? Ma confusion majeure est de savoir comment traiter le code dans la partie tête du code suivant? Un code de référence ou un document?

Voici le code ASPX J'utilise,

<!doctype html> 
<html lang="en"> 
<head> 
    <title>Test</title> 
    <link type="text/css" href="tabcontrol/themes/base/ui.all.css" rel="stylesheet" /> 
    <script type="text/javascript" src="tabcontrol/jquery-1.3.2.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $("#tabs").tabs(); 
     }); 
    </script> 
</head> 
<body> 

<div class="demo"> 

<div id="tabs"> 
    <ul> 
     <li><a href="#tabs-1">tab1</a></li> 
     <li><a href="#tabs-2">tab2</a></li> 
    </ul> 
    <div id="tabs-1"> 
     <p>tab1 info</p> 
    </div> 
    <div id="tabs-2"> 
     <p>tab2 info</p> 
    </div> 
</div> 

</div> 

</body> 
</html> 

merci à l'avance, George

Répondre

2

Vérifiez ce lien ...

http://dotnet.org.za/zlatan/archive/2007/10/12/developing-ajax-web-parts-in-sharepoint-2007.aspx

http://www.bewise.fr/article/ptc/57/WSS-V3-Use-ASP-NET-AJAX-Framework-with-WSS-30.aspx

Si vous besoin d'aide dites-moi que je peux vous fournir un échantillon WebPart.


Pour inclure des fichiers CSS ou js que vous pouvez faire quelque chose comme ça ...

protected override void OnLoad(EventArgs e) 
     { 
      base.OnLoad(e); 



      ClientScriptManager cs = Page.ClientScript; 

      string includeTemplate = "<link rel='stylesheet' text='text/css' href='{0}' />"; 
      string includeLocation = Page.ClientScript.GetWebResourceUrl(this.GetType(), "App_Themes.MyButtons.css"); 
      LiteralControl include = new LiteralControl(String.Format(includeTemplate, includeLocation)); 
      Page.Header.Controls.Add(include); 

      includeTemplate = "<link rel='stylesheet' text='text/css' href='{0}' />"; 
      includeLocation = Page.ClientScript.GetWebResourceUrl(this.GetType(), "App_Themes.MyMainModalDialog.css"); 
      include = new LiteralControl(String.Format(includeTemplate, includeLocation)); 
      Page.Header.Controls.Add(include); 


     } 

Dans cet exemple, je MyMainModalDialog.css et inclus MyButtons.css dynamiquement

+0

Ma confusion est de savoir comment utiliser l'API script script dans mon cas spécifique pour enregistrer les fichiers js et css? Des idées? – George2

0

Pour le CSS, vous pouvez utiliser CssLink et CssRegistration:

// Custom CSS (fix the URL as necessary) 
Microsoft.SharePoint.WebControls.CssLink cssLink = 
    new Microsoft.SharePoint.WebControls.CssLink(); 
cssLink.DefaultUrl = "/tabcontrol/themes/base/ui.all.css"; 
this.Page.Header.Controls.Add(cssLink); 

J'oublie si Il existe d'autres façons de gérer le javascript personnalisé en plus de ClientScriptManager ou de Page.Header.Controls.Add(). Il existe une classe CustomJSUrl mais elle ne semble pas fonctionner de la même manière que le CssLink.

Aussi, je crois que votre script de formatage $(function() { $("#tabs").tabs() }) devrait être accroché à l'événement page.load plutôt que dans le bloc <head>.