Sharepoint 2010 песочница веб-части Ошибка - PullRequest
0 голосов
/ 19 июля 2011

Я новичок в sharepoint, и я создал веб-часть в sharepoint 2010, в которую я добавил SPGridview при развертывании веб-части, создающей это исключение

Ошибка веб-части: возникло необработанное исключениес помощью метода Execute оболочки изолированного кода в домене приложения с частичным доверием: произошла непредвиденная ошибка.

код такой:

    using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Data;

namespace DemoProject.HelloWorldWebPart
{
    [ToolboxItemAttribute(false)]
    public class HelloWorldWebPart : WebPart
    {
        protected override void CreateChildControls()
        {
            //Label lblHelloWorld = new Label();
            //lblHelloWorld.Text = "Hello World";
            //this.Controls.Add(lblHelloWorld);
            //const string DATASOURCEID = "gridDS";

            ObjectDataSource gridDS = new ObjectDataSource();
            gridDS.ID = "gridDS";
            gridDS.SelectMethod = "SelectData";
            gridDS.TypeName = this.GetType().AssemblyQualifiedName;
            gridDS.ObjectCreating += new ObjectDataSourceObjectEventHandler(gridDS_ObjectCreating);
            this.Controls.Add(gridDS);

            // Instantiating Sharepoint GridView object and assigning properties to it
            SPGridView spgvStudentList = new SPGridView();
            spgvStudentList.ID = "spgvStudentList";
            spgvStudentList.DataSourceID = gridDS.ID;
            spgvStudentList.AutoGenerateColumns = false;
            spgvStudentList.AllowPaging = true;
            spgvStudentList.PageSize = 5;
            spgvStudentList.AllowSorting = true;
            this.Controls.Add(spgvStudentList);

            SPGridViewPager pager = new SPGridViewPager();
            pager.GridViewId = spgvStudentList.ID;
            this.Controls.Add(pager);
        }
        public DataTable SelectData()
        {
            // Creating a datasource object for databinding the sharepoint gridview
            DataTable dataSource = new DataTable();

            dataSource.Columns.Add("ID");
            dataSource.Columns.Add("Name");
            dataSource.Columns.Add("Region");
            dataSource.Columns.Add("Total Sales");

            dataSource.Rows.Add(1, "J. Smith", "Europe", 10000);
            dataSource.Rows.Add(2, "J. Smith", "North America", 15000);
            dataSource.Rows.Add(3, "J. Smith", "Asia", 5000);
            dataSource.Rows.Add(4, "S. Jones", "Europe", 7000);
            dataSource.Rows.Add(5, "S. Jones", "North America", 30000);
            dataSource.Rows.Add(6, "S. Jones", "Asia", 8700);
            dataSource.Rows.Add(7, "W. Nguyen", "Europe", 3000);
            dataSource.Rows.Add(8, "W. Nguyen", "North America", 50000);
            dataSource.Rows.Add(9, "W. Nguyen", "Asia", 25000);

            return dataSource;
        }

        private void gridDS_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
        {
            e.ObjectInstance = this;
        }
    }
}

Может кто-нибудь подсказать мне, что я здесь не так делаю?Спасибо и всего наилучшего Mac

1 Ответ

0 голосов
/ 19 июля 2011

Ну, я понял, что использовал sanboxed-решения, а вызовы из рабочего процесса Sandboxed ограничены использованием нескольких классов и методов.К сожалению, Microsoft.Sharepoint.WebControls также является одним из классов.мы ограничены использованием только элементов управления ASP.Net.я изменил его на Farm Solutions, и он работает нормально.

...