I have a requirement for a set of users on the site to have permission level.

When these users open the document library, they should see only metadata columns and title without the hyperlink or ECB menu so that they cannot open any documents (they are just browsers of the site).

There are other groups (like Readers or Contributors) who would see the library view normally (with the ECB menu and other columns and can click on the Name column to open the document).

I know that there is no such permission level. What are the alternatives?

I am thinking of using jQuery to strip off the ECB menu and just show the name for this set of users based on a flag I have set from code (using some hidden control).

Can you guys point me to some useful scripts or other alternatives for this problem.

Happy to provide more info, if needed.

  • As an alternative solution, you can prevent people to download/interact with files using HTTP Handlers. Just fyi.
    – Natan
    Commented Feb 15, 2013 at 10:59

1 Answer 1


There could be several options possible, depending on your needs. Note that if you just change the view, but leave read permissions for documents, users will be able to open them with direct link (if they write it in the address bar for example).

Instead of using jQuery to remove ECB menu, you could just create another view for limited users and change columns so that instead of Name (linked to document with menu) use Name column (without any link). Then you could have other views for readers and contibutors. You will still need some kind of custom coding to prevent users from seeing other views.

Another option (involves more development) is to remove permissions for limited users on the document library, create a separate page accessible for limited users, place SPGridView ASP.NET control to present the data in the same way as List View and query items with SPQuery or SPSiteDataQuery to get the data from library (could be run with elevated privilegies to get all the items). You can search on the examples how to use SPGridView control. Here is one: http://code.msdn.microsoft.com/office/Ejemplos-sobre-cmo-usar-el-69cd5f16

  • Thanks for the response Tim. The problem, in my solution is i cannot create seperate views for these users..They should come to the same view as that of other users but see only metadata and Name as a plane text column..I have several subsites created based on template and the landing page of each subsite has this list view.. Thats why i thought of jquery workaround.. Other option which you proposed, to develop a seperate grid works, but i have many functionalities tied up with this view, like custom ecb menus ete that i am little hesitating to develop this whole new control
    – Raghu
    Commented Feb 20, 2013 at 4:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.