Comment récupérer l'URL d'un élément du forum de discussion? C'est-à-dire, l'URL affichée lorsque vous passez la souris sur la ligne d'objet (une fois que la liste a été ajoutée à la page en tant que partie Web).Comment obtenir l'URL d'une entrée de la page de discussion SharePoint?
Répondre
Demandez-vous comment trouver l'URL d'une discussion individuelle dans un forum de discussion? Ou une réponse individuelle à une discussion?
Vous pouvez donner juste sous le nom comme http://site/discussion/lists/discussionboard/discusontitlename ou sujet
Cela ne fonctionne pas toujours si des caractères spéciaux comme un point sont à la fin. – trgraglia
protected void gvForum_RowDataBound(object sender, GridViewRowEventArgs e)
{
SPListItem item = e.Row.DataItem as SPListItem;
Label lblTitle = e.Row.FindControl("lblTitle") as Label;
HtmlAnchor aURL = e.Row.FindControl("aURL") as HtmlAnchor;
if (item != null)
{
if (lblTitle != null && aURL != null)
{
aURL.HRef = "~/" + item.Url;
lblTitle.Text = item["Title"].ToString();
}
}
}
protected global::System.Web.UI.WebControls.GridView gvForum;
public string Region
{
get
{
return "";
}
}
public string DefaultRegion { get; set; }
public int Top { get; set; }
public string ListName
{
get
{
string listName=string.Empty;
if (!string.IsNullOrEmpty(this.Region))
listName=string.Format("{0} {1}","Forum",this.Region);
else
listName = string.Format("{0} {1}", "Forum", this.DefaultRegion);
return listName;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
string region = this.Region;
string [email protected]"<OrderBy><FieldRef Name=""Modified"" /></OrderBy>";
try
{
using (SPSite spSite = new SPSite(SPContext.Current.Site.Url))
{
using (SPWeb spWeb = spSite.OpenWeb())
{
SPQuery spQ = new SPQuery();
spQ.Query = caml;
spQ.RowLimit = (uint)this.Top;
SPList spList = spWeb.Lists[ListName];
SPListItemCollection items = spList.GetItems(spQ);
if (items != null && items.Count > 0)
{
gvForum.DataSource = items;
gvForum.DataBind();
}
else
{
this.Visible = false;
}
}
}
}
catch (Exception ex)
{
Logger.Log(ex.Message, System.Diagnostics.EventLogEntryType.Error);
}
}
protected void gvForum_RowDataBound(object sender, GridViewRowEventArgs e)
{
SPListItem item = e.Row.DataItem as SPListItem;
Label lblTitle = e.Row.FindControl("lblTitle") as Label;
HtmlAnchor aURL = e.Row.FindControl("aURL") as HtmlAnchor;
if (item != null)
{
if (lblTitle != null && aURL != null)
{
aURL.HRef = "~/" + item.Url;
lblTitle.Text = item["Title"].ToString();
}
}
}
Modifier votre autre message la prochaine fois. Ne postez pas deux réponses. – trgraglia
Vous ne pouvez pas avoir l'élément de liste, mais si vous ne regardez juste la propriété « fileRef ». Cela ressemblera à "https://mycompany.sharepoint.com/sites/Lists/discussion/". Si je mets cette URL dans le navigateur (j'utilise SharePoint Online), elle me redirige vers l'URL https://mycompany.sharepoint.com/Lists/Discussion/Flat.aspx?RootFolder= ....
Pour générer l'URL directe à un élément de discussion particulier, sur le côté client (via un appel API REST), vous pouvez essayer ceci:
var jqXhr = $.ajax({
url:"/DiscussionSite/_api/lists/getByTitle('Discussions')/items?
$select=ID,FileRef,ContentTypeId,Title,Body&
$filter=ContentType eq 'Discussion'",
headers: { 'Accept': 'application/json;odata=verbose'}
});
// Fetch only the discussions from the Discussion list (excl. Messages)
jqXhr.done(function(data){
// Picking only the first item for testing purpose
// Feel free to loop through the response if necessary
var firstItem = data.d.results[0],
firstItemUrl = '/DiscussionSite/Lists/Discussions/Flat.aspx?RootFolder=' + firstItem.FileRef + '&FolderCTID' + firstItem.ContentTypeId;
// Result - /DiscussionSite/Lists/Discussions/Flat.aspx?RootFolder=/DiscussionSite/Lists/Discussions/My Discussion Topic 1&FolderCTID0x01200200583C2BEAE375884G859D2C5A3D2A8C06
// You can append "&IsDlg=1" to the Url for a popup friendly display of the Discussion Thread in a SharePoint Modal Dialog
console.log(firstItemUrl);
});
Hope this helps!
Vous pouvez utiliser une utilisation « TopicPageUrl » colonne de champ pour obtenir directement le sujet de discussion en utilisant REST api URL
http://sp2013.in/_api/web/Lists/GetByTitle('Discussion')/Items?$select=Title,TopicPageUrl,DiscussionLastUpdated,Folder/ItemCount,LastReplyBy/Title,Author/Title&$expand=Folder,LastReplyBy,Author&$orderby=DiscussionLastUpdated desc
Le code ci-dessus est également utile pour obtenir la discussion dernière mise à jour, la réponse count (son enregistrée dans le dossier), dernière réponse par.
- 1. Migrez la liste de discussion dans SharePoint?
- 2. Obtenir la dernière entrée de la base de données
- 3. Comment afficher toutes les discussions et les réponses d'un forum de discussion sur SharePoint?
- 4. Personnalisation de la page maître SharePoint
- 5. Client de discussion ASP.NET
- 6. Modification du type de contenu Page ENTRÉE?
- 7. Comment obtenir la liste de tous les utilisateurs dans SharePoint
- 8. Lors de la création d'un formulaire, vais-je obtenir un processus ou un fil de discussion?
- 9. De bons sites de discussion en équipe?
- 10. SharePoint obtenir l'URL complète de la page en cours dans le code
- 11. PHP: Comment obtenir dimanche et samedi une entrée de date?
- 12. propriétés Obtenir de champ SharePoint contrôle
- 13. Comment obtenir une entrée de l'utilisateur avec NASM?
- 14. Sharepoint Solutions WSP et URL de la page
- 15. Puis-je obtenir l'approbation de la page de publication et l'état de la page dans le flux de travail?
- 16. C# Func délégué lance la discussion Exception
- 17. Modèle de blog SharePoint Page principale Branding
- 18. Sharepoint, ajax et le titre de la page
- 19. Obtenir des attributs de la page aspx
- 20. Comment puis-je obtenir ce programme pour imprimer également la première entrée de la liste?
- 21. Comment obtenir toutes les URL de la page (php)
- 22. Comment obtenir page_id de la page facebook via facebook connect?
- 23. Comment obtenir l'URL de la page actuelle en PHP
- 24. Comment puis-je obtenir le contenu de la page Web
- 25. Comment obtenir le titre de la page HTML avec JavaScript?
- 26. Comment auditer la recherche de sharepoint?
- 27. Le forum de discussion SharePoint "Dernière mise à jour" n'est plus mis à jour
- 28. Le concepteur de Sharepoint n'affiche pas correctement la page
- 29. SharePoint Preserve Propriétés de la page et WebParts
- 30. Comment obtenir div depuis l'affichage de la deuxième page dans la première page
Où cherchez-vous à le trouver? Grâce à l'API? Avec javascript? Dans un flux de travail? – glenatron