I have a site on SharePoint 2013, I have Custom lists, when I trying to search any item in the list, the search box doesn't return any results.
I did crawling(Incremental) on whole site and after crawling I did Re-indexed the list as well, but still the search box doesn't return any results.
I attached the image below.
Can anyone please help me.
Check default item view form. I.e. you should be able to go to item and view it.
Sometimes, when default item view form is corrupted or not exists, crawler grabs list view form, but doesn't go through list.
Also try to check CA -> Craw Log -> Url View -> Type a URL...
Related
It seems due to a recent SharePoint Online update that their lists (when selected using the left navigation) now adds a ViewPath query parameter by default. With this change, it seems like the Provider Hosted App redirect now sends a different ListId and not the Id for the actual list. When I use CSOM to resolve the ListId it results in a "Site Pages" and not the list at all.
clientContext.Web.Lists.GetById(ListId);
This code base did work before the recent SharePoint Online update but now I cannot call my list. If I manually remove the ViewPath query parameter from the list then the redirect shows the correct ListId and CSOM resolves the correct List. The problem is I cannot expect users to manually remove that query parameter.
If I navigate to the list by using the Site Content page and not the left navigation then this query parameter is not present and my application works.
Does anyone have context or direction into how to handle this new change?
I have a similar issue on our site. Instead of modifying the list, a script web part on the initial page seems to bleed through. I have ammended the links in the lefthand nav bar in an attempt to circumvent the viewpath query being added. I put in 2 url carriage returns on the end of the link. So far so good for me.
I have made a new custom EditForm.aspx in MS sharepoint on one of my lists, but when I try to edit an item, it gets the first item in the list, and not the one im trying to edit.
I have tried reverting to the old form, but it still keeps doing it.
I am quite new to Sharepoint and don't quite understand how the parameters are being passed, perhaps the error could be there somewhere?
Is the section where the sources are defined?
It is rather urgent so any tips would be much appreciated. I haven't found any solution online yet.
I couldn't find the mistake, as the Edit Item button seemed to generate the incorrect ID for some unexplainable reason.
My fix was to create a new empty list, then create a new EditForm and ViewForm from the new forms, delete the webpart, Insert->Sharepoint Controls->Custom List Form. I selected the old (broken) list form type.
I then copied this code over to the old list viewForm and EditForm and it worked as it did normally.
ID item of item to be edited is passed to edit form in the query string like this:
editform.aspx?ID=ItemId. So, first, check if ID is in the url and correct.
I cannot show the content of a document library using a list view contained in a web part located on my root web application.
Here is the site structure:
main_site
subsite1
Shared Documents
subsite2
Shared Documents
My webpart is located on the main_site.
In this webpart, I have a Sharepoint ListViewWebPart in which I want to show the Shared Documents from subsite1 for instance, but it does not seem to work. I get the following error:
List does not exist
The page you selected contains a list
that does not exist. It may have been
deleted by another user.
What is odd is that when I debug, I can see that the SPList is correctly initialized and contains the element of my list. However at the line Controls.Add(mylistview), is where the error occurs.
Here is the code I use to bind the list to my ListView:
SPList list = SPContext.Current.Site.AllWebs["subsite1"].Lists["Shared Documents"];
ListView lv = new ListView();
lv.ListId = list.ID.ToString();
lv.ViewId = list.DefaultView.ID.ToString();
lv.DataBind();
this.Controls.Add(lv);
Does someone have a logical explaination and solution to this problem?
The problem is that the list is in another site.
It is possible to use the ListViewWebPart to reference a list from another site in the same site collection. You need to use the WebId property to do this. Here is a code example.
Another option is to use SharePoint Designer to create a Data View Web Part. This will allow you to use a list from another site or the SharePoint web serivces to pull data in. The results look similar to the list view web part and there is some powerful functionality you can use. This is the first blog post I found that demonstrates this, there should be several others.
Finally, you could use the Content Query Web Part. You probably know this one already and it is really more for displaying and not manipulating data.
Edited to remove incorrect information.
I have created a Custom Edit Form for a custom list using SharePoint designer. I need to check that the current user is the author of the list item before displaying the form as only the author should be able to edit this content. I don't have server access so want to do this in the form itself using XSL. So far, I haven't been able to retrieve the Author / Created By value. Does anyone know how to get at this value?
Thanks for your help
Iain
Update:
I can see now that the Edit Form is using a datasource which basically returns a view containing all fields in the content type. "Author" is not part of the content type (which is a custom one). I can't see any way of adding the Author to the content type. Does anyone know how this can be achieved as i think this would solve the problem.
Cheers,
Iain
Isnt it possible to use the View/Edit access settings for the list? You find them under "List settings -> Advanced Settings" or somthing like that.
To bar someone form editing an item he should not, I would not edit the edit form of the item but do this by the item's permissions set. Therefore I would add an event handler to the list which changes the list items permissions after its creation, so that only the creator of the document has the permission to edit it.
Informations about event receivers can be found on Brian Wilson's blog.
I think JMD is right. You can do this without a custom form or any coding. From the list's menu bar select Settings -> List Settings -> Advanced Settings
Once there, you should see an option in Item Level Permissions to restrict edit access to only the item's author.
I have a website in Sharepoint.
To get a list of sites ordered by the exploration, that is to say, ordered by the user in the sharepoint administration, i would write the following code:
SPWeb web = CurrentSite.OpenWeb(currentSite);
SPNavigation nav = web.Navigation;
SPNavigationNodeCollection nodeColl = nav.QuickLaunch;
That is ok, but i need to do it with CAML. The only problem is that i don't know how to get the items ordered as the user did it, i get the items unordered or ordered by a column, i don't think there is a column for the user's order.
Plz give me some code.
Unfortunately, the navigation information is not stored with the pages in the library. The navigation can store more that just published pages, so the navigation had to be stored in it's own structure.
That means there is no content query for this.