У меня есть default.aspx в папке _layouts / sandbox на сервере sharepoint.
Он имеет следующий код:
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Web.Configuration;
namespace sandbox
{
public partial class _Default : LayoutsAppPage
{
protected void Page_Load(object sender, EventArgs e)
{
SPWeb web = SPContext.Current.Web;
LabelTitle.Text = web.Title;
if (Page.IsPostBack == false)
{
//Label1.Text = "Fahrenheit to Celsius:";
}
}
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
try
{
this.MasterPageFile = SPContext.Current.Web.MasterUrl;
}
catch
{
}
}
}
}
он должен наследовать класс LayoutsAppPage, чтобы я мог использовать его для выполнения функций OnPreInit на всех страницах приложения «песочница».Вот код для LayoutsAppPage.aspx.cs в том же каталоге
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Web.Configuration;
namespace sandbox
{
public class LayoutsAppPage : System.Web.UI.Page
{
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
try
{
this.MasterPageFile = SPContext.Current.Web.MasterUrl;
}
catch
{
}
}
}
}
я получаю следующую ошибку при запуске страницы
c: \ Program Files \ Common Files \Microsoft Shared \ Расширения веб-сервера \ 12 \ TEMPLATE \ LAYOUTS \ sandbox \ Default.aspx.cs (20): ошибка CS0246: не удалось найти тип или имя пространства имен LayoutsAppPage (отсутствует директива using или ссылка на сборку?)
в System.Web.Compilation.AssemblyBuilder.Compile ()
я заметил, что в строке «открытый частичный класс _Default: LayoutsAppPage», что LayoutsAppPage не светится голубымдолжен для базового класса.Если строка "открытый частичный класс _Default: System.Web.UI.Page", страница загружается нормально.может быть, я неправильно объявил базовую страницу?
изменить: по запросу -
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="sandbox._Default" MasterPageFile="~/_layouts/application.master" %>
<%@ Assembly Name="Microsoft.SharePoint.ApplicationPages,Version=12.0.0.0, Culture=neutral,PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="wssuc" TagName="InputFormSection" Src="/_controltemplates/InputFormSection.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="InputFormControl" Src="/_controltemplates/InputFormControl.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="ButtonSection" Src="/_controltemplates/ButtonSection.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="ToolBar" Src="/_controltemplates/ToolBar.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="ToolBarButton" Src="/_controltemplates/ToolBarButton.ascx" %>