- Webparts in SharePoint?
- Difference between .webparts and .dwp?
- Difference between asp.net webparts and SharePoint webparts?
- Webpart life cycle?
- Difference web parts visual web parts and traditional web part?
- Webpart maintenance page?
- Main webpart base classes?
- A Web Part or Web Form Control on this Page cannot be displayed or imported. The type is not registered as safe.”
- How to ensure user controls (.ascx) in webpart. I mean in which method the user controls defines?
- Out of box web parts in SharePoint?
- Add Web Part inside a Master Page in SharePoint 2010?
- Migrate webparts that are developed in SharePoint 2007 into SharePoint 2010?
- Difference between user control and webpart?
- Connectable webparts in SharePoint?
- I have created one webpart and added that in a page. Because of that webpart I am not able to open my page. So I want to delete that webpart from the page. How can I delete it?
- Can visual webparts have more than one user controls?
- Webpart deployment life cycle?
- How to define custom properties at the normal webpart and visual webpart?
- How to handle the visibility level of custom properties based on permission levels?
- How can we do validation at the client side in wp, VWP?
- Is CQWP can fetech data across site collection means from another site collection level?
Webparts:
Web Parts are
reusable components that display content on Web pages in SharePoint 2010.
A fantastic new feature in SharePoint 2010 is that you can insert a Web Part in the
text of one of the Rich Text Editor zone available in the new Wiki Page. (To
add, remove, or rearrange the text zones, use the "Text Layout" menu
in edit mode)
When you create a team site, the home page is a wiki page. You should
be able to move the web parts by Editing (Page tab > Edit) then
drag/dropping the web parts to where you'd like them to go. The wiki page won't
really have web part zones, but instead you can choose a "Text
Layout" to arrange your page as desired. Again you can drag and drop between
the layout zones.
Also, when inserting a web part, the web part is added where your cursor is. To make sure you have it in the correct location, open the web part adder first (Edit Page > Insert Tab > Web Part), then click on the page where you want it to go, and then click Add in the web part adder.
Also, when inserting a web part, the web part is added where your cursor is. To make sure you have it in the correct location, open the web part adder first (Edit Page > Insert Tab > Web Part), then click on the page where you want it to go, and then click Add in the web part adder.
Remember points:
We
can dropped webparts into anywhere inside the main content area, without
having to put it into a WebPartZone (This is all happening behind-the-scenes
through a dynamic zone that pushes Webparts into placeholders).
Difference Between .dwp and .webpart
- Dwp was the file extension used in version 2 of SharePoint and .webpart is a new extension used in version 3
- Version number on the xmlns attribute is different [2->2003, 3-> 2007]
- The main difference is that all properties passed to the web part are specified with a property element and a name attribute in version 3. Version 2 uses different element names for everything.
Reference:
Visual Webparts:
- The new important feature introduced in SharePoint on webparts is Visual webpart. It’s a combination of user control (.ascx) and assembly (.dll)
- Since a Visual Web Part loads a User Control (.ascx) from the SharePoint Root it needs access to run the ASP.NET method LoadControl and file system access to the ControlTemplates folder in the SharePoint Root – and this is not allowed by a Sandboxed Solution.
- Visual webpart cannot be deploying using sandbox solutions.
Visit the sharepoint administrator interview questions with answers on topic: RecycleBin
Visual sandboxed web part:
The Microsoft Visual Studio team has released the Visual
Studio 2010 SharePoint Power Tools. These tools extend the existing
SharePoint 2010 project templates and provide the Sandboxed Visual Web Part
template that enables you to create Web Parts that can be deployed as sandboxed
solutions. The use of these templates also enables designer support for
designing the Web Parts.
Difference
between asp.net webparts and SharePoint webparts?
ASP.NET Web
Parts:
These Web Parts
are built on top of the ASP.NET Web Part infrastructure. The ASP.NET-style Web
Parts have a dependency on System.Web.dll and
must inherit from the WebPart base class in
the System.Web.UI.WebControls.WebParts namespace.
These Web Parts
can be used in ASP.NET applications as well as in SharePoint Foundation, making
them highly reusable.
SharePoint-based
Web Parts:
These Web Parts
have a dependency on Microsoft.SharePoint.dll and
must inherit from the WebPart base class in
the Microsoft.SharePoint.WebPartPages namespace.
These Web Parts
can only be used in SharePoint Web sites.
Webpart life cycle:
OnInit: This method handles initialization of
the control.
OnLoad: This event handles the Load event.
This is also used for initialize the control but is not intended for
loading data or other processing functionality.
CreateChildControls: This is the most popular event in web
part life cycle. This creates any child controls. So if you are adding any
control to display then you have to write in this method.
When the page is
being rendered for the first time the method generally occurs after the
OnLoad() event. In case of postback, it is called before the OnLoad() event. We
can make use of EnsureChildControls() - It checks to see if the
CreateChildControls method has yet been called, and if it has not, calls it.
EnsureChildControls: This method ensures that
CreateChildControls has executed.
EnsureChildControls
method must be called to prevent null reference exceptions
SaveViewState: View state of the web part saved.
OnPreRender: This method handles or initiates tasks
such as data loading that must complete before the control
can render.
Page.PreRenderComplete: The page fires the PreRenderComplete
event after all controls have completed their OnPreRender methods.
Render: This method is used to render
everything.
RenderContents: Renders the contents of the control
only, inside of the outer tags and style properties.
OnUnload: Performs the final cleanup.
Webpart maintenance page
- A webpart which is causing a problem in a webpart page can be removed using this page. Basically, a Webpart Maintenance page provides the list of all webparts added in a particular page and options to close or remove these webparts.
- Use of it: Sometimes after adding a webpart to the page, we get an error page with some message. But in this error page we won’t get any SharePoint controls (like the SiteActions, Ribbon Menu etc.,), so we cannot edit the page and remove the webpart. Then we usually go to the edit form of the page (through page library) and then click on the 'Open Web Part Page in maintenance view' link, which opens the WebPart Maintenance page to remove the webpart which is causing the problem.
- Shortcut to open:
- Instead of going to the Edit Properties form of the page, we can easily open the WebPart Maintenance page by just adding the following query string to the page URL : ?contents=1
- So, if your page URL is 'http://rams/pages/default.aspx' then after appending the query string it should look like ' http://rams/pages/default.aspx?contents=1'
- Using this approach, we can open the webpart maintenance page for all the forms pages (like /pages/forms/allitems.aspx?contents=1). But it’s not safe to remove or add any webparts in these pages, as they may affect the normal functionality.
- Note: This approach works on both MOSS 2007 and SPS 2010.
Difference web parts visual web parts
and traditional web part?
- The advantage of Web User Control is that you can use Visual Web Developer to design the web user control and in normal web parts all controls are created in the code itself i.e. on “CreateChildControls” method only.
- Adding Web Part properties is cumbersome for Visual Web Parts as compared to traditional Web Parts. As you develop Web Parts, many times you will want to expose their properties so that users and administrators can supply the values for those properties.
- Differences in Web Part Connections: This is easily achieved in a traditional Web Part because the logic code is contained in the Web Part itself.
- Differences when Extending a Web Part: You can extend the traditional Web Part by inheriting from the WebPart class. You can then reuse the base Web Part functionality and extend it as desired. Visual Web Parts cannot be extended. Because this Web Part is a wrapper around a user control, it just contains the code to load the user control; the bulk of the Web Part code resides in the code-behind file of the user control.
- Differences in Performance and Memory Footprint: Visual Web Parts have slightly larger memory footprints than code-only Web Parts. Visual Web Parts contain more parts (Web Part, user control) than traditional Web Parts.
- Refer the below msdn article to get a clear idea:
Main webpart base classes:
There are
two base classes that a WebPart which is going to be consumed by SharePoint can
inherit from, either the SharePoint WebPart Base class or the ASP.NET 2.0
WebPart base class. When inheriting from the SharePoint WebPart Base class your
derived WebPart class will inherit from
Microsoft.SharePoint.WebPartPages.WebPart. When inheriting from the ASP.NET 2.0
WebPart base class your derived WebPart class will inherit from
System.Web.UI.WebControls.WebParts.WebPart. It is considered good practice to
use the ASP.NET WebPart base class since the old base class is meant for
backwards compatibility with previous version of SharePoint however there are
four exceptions when it is better to leverage functionality from the SharePoint
WebPart base class:
- Cross page connections
- Connections between Web Parts that are outside of a Web Part zone
- Client-side connections (Web Part Page Services Component)
- Data caching infrastructure.
Note: If you create a webpart in SharePoint 2010 by default it is inheriting from Asp.Net webpart base class.
A Web Part or Web Form Control on this Page cannot be
displayed or imported. The type is not registered as safe.”
The reason for this error is if we modify default namespace
into custom namespace, Visual Studio 2010 Package is not generating webpart
file properly.
Make sure your webpart is added into Safe Control list in Web.config
file.
Open your .webpart file in your visual studio - Make sure type element name has proper namespace & class name.
Open your .webpart file in your visual studio - Make sure type element name has proper namespace & class name.
When you made changes to default name space which is being
generated by visual studio, you may not
see updated namespace in type element. So make sure your webpart name space
name & webpart class name placed correctly in type element's name attribute
Access http://server/_layouts/newdwp.aspx page and make sure webpart exist. If webpart
not shown in the list, still your webpart name space/classname not matches to
your safe control entry in web.config file.
Access http://server/_catalogs/wp/Forms/AllItems.aspx
. By clicking on webpart opens webpart in webpart preview page.
Continue......
Continue......
Please let me know how much this post helps to you.
Hi
ReplyDeleteIts really good post.But I could not get full information for all your questions listed abobe related to WebPart
Thanks
Siddartha
Hi Siddartha,
DeleteThanks for visiting my blog. Will try to cover the web part related information soon with full information.
-Regards,
Sasi Kumar Reddy
Hi SasiKumar Reddy,this blog is very useful to me.if u Know any issues on webpart can u post for us.
Delete-Regards,
Chandramohan Reddy
good
ReplyDeleteGood post but did't find any new or interesting topic.
ReplyDeleteGood post but didn't find new or interesting topic
ReplyDeleteToo Good :-)
ReplyDeleteGood Post.....
ReplyDeleteGood Post................
ReplyDeletesasikumarreddy valipireddy liked your compilation of topic wise questions and answers. gr8 help for me.
ReplyDeleteHi, Can I add data view properites webpart in SP 2013?
ReplyDeleteToo Good Post
ReplyDeletevery useful information..Thanks
ReplyDeletevery useful information..Thanks
ReplyDeleteVery informative.what about validations of webparts?
ReplyDeletewe have to add any script files when doing the validation for webparts?please give me an idea how to do it?im new to sharepoint
ReplyDeletecan i have a brief discussion on web services ?
ReplyDeleteI really like this post..
ReplyDeleteHI
ReplyDelete