Pages

Showing posts with label SitePages. Show all posts
Showing posts with label SitePages. Show all posts

Tuesday, January 24, 2017

“The attribute 'autoeventwireup' is not allowed in this page” issue in SharePoint 2013

Problem

Recently we deployed two wsp solutions in an environment. One wsp consists of master page and the other one consists of a site page with code behind where I use events like onclick and all.

After the deployment when I try to access the aspx page we got the above error.

Solutions

Solution 1.

Remove the code behind file and create a web part and add the web part in the page.You can see my blog post on how to create site page without code behind.

Solution 2.

Go to Site Settings page, under the Site Action section, click Reset to site definition.

01

Then give your page url and click Reset.

Capture

Check your page.

If its still the same give your master page url (which ends with .master) and repeat the above step.

Now your page should work fine.

Wednesday, August 6, 2014

Create Site Pages through Visual Studio for SharePoint 2013 and SharePoint Online

Introduction

Recently I had to tell one of friends how to create Site pages in SharePoint 2013 with Visual Studio. So I had to come up with a easiest way to describe. Here is it.

Solution

I will be adding a application page and making it as the site page.

Step 01: Add a Application Page

Right click on the project and and a new item (Add –> New Item); there select Application Page.

Step 02: Add a module for site page

Right click on the project and and a new item (Add –> New Item); there select Module.

Step 03: Drop application page inside module

Drag and drop the application inside the module. So your module will look something like this.

image 

Step 04: Remove the Code behind file

Our intension is to add webpart zone inside the application page and no need of code behind, So we will delete the file with the extension “.aspx.cs”. Now the module will be look something as below.

imageStep 05: Remove code behind reference from aspx page

Go to aspx page and in our case its “ApplicationPage1.aspx” and remove the line

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ApplicationPage1.aspx.cs" Inherits="SitePages.Layouts.SitePages.ApplicationPage1" DynamicMasterPageFile="~masterurl/default.master" %>

Here the master page also will get removed. So we have to add the reference to the master page. Add the below code at the top of the page.

  1. <%@ Page Language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=15.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" %>

Step 06: Remove project assemble.

Remove the below line which refer the the project. If not this is will throw an error when we try to deploy in SharePoint online.

  1. <%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>

Step 07: Add webpart zone

Now add webpart zone into PlaceHolderMain.

  1. <asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
  2. <WebPartPages:WebPartZone ID="WebPartZoneSearch" runat="server" Title="Webpart zone">
  3.                         <ZoneTemplate>
  4.                         </ZoneTemplate>
  5.                     </WebPartPages:WebPartZone>
  6. </asp:Content>

Once you add Webpart Zone you have to import necessary assembly. Add below register tag on the page.

  1. <%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

Step 08: Deploy the solution.

Now deploy the solution and you can go to your site page through the url in the module.

image

So the url will http://<SiteUrl>/Module1/ApplicationPage1.aspx

Conclusion

Now your site page is deployed and you can see the webpart zone in the edit mode also.

image

You can download the code from here.

https://drive.google.com/file/d/0ByEnOE8DAdvhZW5QbktFRzR3bnM/view?usp=sharing