Les contrôles Sharepoint nécessitent que SPContext.current.site/web fonctionne, mais j'ouvre de nombreux sites en utilisant site = new spsite (siteID); et je veux utiliser les contrôles. Avez-vous une idée ou une classe disponible pour utiliser les contrôles asp.net dans sharepoint?Comment utiliser les contrôles dans sharepoint sans utiliser le spcontext.current
Répondre
//open site and web
sSiteID = Request.QueryString["siteID"];
sWebID = Request.QueryString["parentWebID"];
site = new SPSite(new Guid(sSiteID));
web = site.OpenWeb(new Guid(sWebID));
//show the properties of the list in the edit form
(...)
if ((list.AllowContentTypes == true) && (list.ContentTypesEnabled == true))
{
(...)
SharePointWebControls oSharePointWebControls = new SharePointWebControls();
cntrl = oSharePointWebControls.GetSharePointControls(field, list, item, SPControlMode.Edit, "");
}
public Control GetSharePointControls(SPField field, SPList list, SPListItem item, SPControlMode mode, string strType)
{
switch (field.FieldRenderingControl.ToString())
{
case "Microsoft.SharePoint.WebControls.TextField":
return CreateTextFieldControl(field, list, item, mode);
}
}
#region Create SharePoint Controls
private static Control CreateTextFieldControl(SPField field, SPList list, SPListItem item, SPControlMode mode)
{
TextField tf = new TextField();
//tf.EnableViewState=false;
tf.ListId = list.ID;
if (item != null)
{
tf.ItemId = item.ID;
}
tf.FieldName = field.Title;
tf.ID = "Field_" + field.Id;
//tf.CssClass = "spsControl";
tf.ControlMode = mode;
//check if the field has a default value
if (field.DefaultValue != "null" && field.DefaultValue != null)
{
tf.Text = field.DefaultValue.ToString();
}
try
{
RequiredFieldValidator cntrlValidator = ((RequiredFieldValidator)tf.Controls[0].Controls[3]);
}
catch (Exception ex)
{
}
return tf;
}
tous les contrôles de sharepoint J'UTILISE travaillent et tf est retourné correctement, mais quand je ne suis pas dans le site actuel ou sur le Web en cours cette exception se sont produites: InvalidArgumentException dans le contrôle. Je suppose que ces contrôles ne fonctionnent pas en dehors du site actuel ou du Web, et je dois utiliser le contrôle asp.net? Est-ce exact ou existe-t-il une autre solution? Merci d'avance ...
pouvez-vous formater le code et le déplacer à la question elle-même? Vous devez essentiellement simuler le spcontext et charger l'autre collection de sitecollection. –
Faux Spcontext est la solution à votre problème. Google it, ça pourrait peut-être vous aider.
Cela m'a aidé. THX – Manale
- 1. Comment utiliser _spBodyOnLoadFunctionNames.push dans SharePoint sans délai?
- 2. Comment utiliser les contrôles composés
- 3. Comment utiliser les contrôles personnalisés dans WPF
- 4. Comment utiliser le contrôle SharePoint MultipleLookupField?
- 5. Comment utiliser DockStyle.Fill pour les contrôles standard dans WPF?
- 6. Comment utiliser le même RoutedCommand dans des contrôles distincts?
- 7. Comment utiliser webservice sharepoint dans Android?
- 8. Comment utiliser les contrôles visuels dans Indy? (Delphi)
- 9. Comment: Utiliser MvcContrib.Pagination sans utiliser MvcContrib.Grid Voir
- 10. comment utiliser les fichiers de ressources dans sharepoint 2010
- 11. Comment utiliser les contrôles de saisie sur un composant WebPart personnalisé SharePoint?
- 12. Comment utiliser les rapports Jasper sans modèles
- 13. Comment utiliser le moteur WMP sans fenêtre
- 14. Comment utiliser les fichiers jar sans informations sur le paquet?
- 15. utiliser le même validateur sur plusieurs contrôles dans Flex
- 16. Comment utiliser les contrôles de données sensibles "correctement"?
- 17. Comment utiliser les contrôles serveur avec PostBack avec ASP.NET MVC?
- 18. Comment utiliser pear sans installation
- 19. Comment utiliser NAnt pour compiler les contrôles WPF
- 20. Comment utiliser PhotoLibrary sans jailbreak
- 21. Comment utiliser Microsoft.Web.Administration sans IIS7
- 22. Comment spécifier des actions sans utiliser d'aide
- 23. Comment utiliser Sitefinity sans thèmes?
- 24. Comment imprimer tout le résultat sans utiliser Results.columnname dans ColdFusion
- 25. Quand dois-je utiliser # et = dans les contrôles ASP.NET?
- 26. Comment utiliser les URL de référencement dans CakePHP sans ID?
- 27. ColdFusion: Comment utiliser getListItems de SharePoint()
- 28. Comment savoir les contrôles des champs Sharepoint?
- 29. Comment utiliser les événements GridView
- 30. jQuery validateur plugin sans utiliser le formulaire
Pourriez-vous fournir plus d'informations, par exemple comment créez-vous des objets de contrôle et quelles exceptions recevez-vous en essayant de les utiliser? Merci. –
ok, je vais écrire dans la zone de réponses parce que ma réponse est trop grande pour s'adapter ici – Manale