Проблема подкачки Webpart-GridView - PullRequest
0 голосов
/ 17 сентября 2011

Привет, Прошу прощения, потому что это не просто sharepoint или приложение Asp.NET, поэтому я опубликовал в Sharepoint переполнение, а также переполнение стека. спасибо.

Я разработал веб-часть и развернул ее на сайте SP 2007. Я отображаю данные в виде таблицы, и я включил подкачку, и она может показывать 10 записей. Но когда я щелкаю по следующему номеру страницы, появляется сообщение «Произошла непредвиденная ошибка. Устранение неполадок со службами Windows SharePoint Services». Может ли кто-нибудь сказать мне, что здесь упущено.

using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;

using System.Data;
using System.Data.SqlClient;


using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;

namespace EVentHandlerWebPartGridView
{
    [Guid("d75310a6-2db3-431c-a45d-351e4ba0bda1")]
    public class EventHandlerWebPartGridView : System.Web.UI.WebControls.WebParts.WebPart
    {

        // Constructors for the web Part
        public EventHandlerWebPartGridView()
        {

        }

        // Member variable for the class

        private string _cnString = string.Empty;

        // control definitions
        protected Label lblError;
        protected Button btnExecuteSQL;
        protected TextBox txtSql;
        protected GridView gvResults;

        // WebPart Parameter for getting the Connection string
        [
        WebBrowsable(true),
        WebDisplayName("Connection String"),
        Personalizable(PersonalizationScope.User)

        ]

        public string CNString
        {
            get { return _cnString; }
            set { _cnString = value; }
        }

        // Override Method- place to initialize the controls
        protected override void CreateChildControls()
        {
            //label initialization and Properties
            lblError = new Label();
            this.Controls.Add(lblError);


            // textbox control and Propetrties
            txtSql = new TextBox();
            txtSql.Width = Unit.Pixel(400);
            txtSql.Height = Unit.Pixel(200);
            txtSql.TextMode = TextBoxMode.MultiLine;
            this.Controls.Add(txtSql);


            //button Initialization and Properties
            btnExecuteSQL = new Button();
            btnExecuteSQL.Text = "Execute SQL";
            btnExecuteSQL.ToolTip = "Click On this to see the Reults of the SQL Query";
            btnExecuteSQL.Click += new EventHandler(btnExecuteSQL_Click);
            this.Controls.Add(btnExecuteSQL);

            //gridview Initialization 

            gvResults = new GridView();
            gvResults.Width = Unit.Percentage(100);
            gvResults.AlternatingRowStyle.BackColor = System.Drawing.Color.Blue;

            gvResults.AllowPaging = true;
            gvResults.PageSize = 10;
            Controls.Add(gvResults);
        }

        //Button Click Event handler
        protected void btnExecuteSQL_Click(object sender, EventArgs e)
        {
            // if the connection string is not empty
            if (_cnString.Trim() != string.Empty)
            {
                try
                {
                    SqlConnection con = new SqlConnection(_cnString);
                    SqlCommand cmd = new SqlCommand(txtSql.Text, con);
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    da.Fill(ds);
                    gvResults.DataSource = ds.Tables[0].DefaultView;
                    gvResults.DataBind();

                }
                // Any Errors in the above Code
                catch (Exception ex)
                {

                    gvResults.DataSource = null;
                    gvResults.DataBind();
                    lblError.Text = ex.Message;
                    lblError.Visible = true;
                }
            }
            // If the Connection string is Empty
            else
            {
                gvResults.DataSource = null;
                gvResults.DataBind();
                lblError.Text = "Please Enter a Connection string";
                lblError.Visible = true;

            }


        }

        // Rendering the Data nows
        protected override void Render(HtmlTextWriter writer)
        {
            writer.RenderBeginTag(HtmlTextWriterTag.Table); //table Starts

            writer.RenderBeginTag(HtmlTextWriterTag.Tr); // Tr Starts

            writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");// Adds an attribute tag

            writer.RenderBeginTag(HtmlTextWriterTag.Td); // Td tag starts Here
            lblError.RenderControl(writer);
            writer.RenderEndTag();
            writer.RenderEndTag(); //tr nd

            writer.AddAttribute(HtmlTextWriterAttribute.Valign, "top");
            writer.RenderBeginTag(HtmlTextWriterTag.Tr); // tr
            writer.RenderBeginTag(HtmlTextWriterTag.Td); //td
            writer.Write("Enter a SQL Statement");
            writer.RenderEndTag();// end td

            // Now Display the Text Box

            writer.RenderBeginTag(HtmlTextWriterTag.Td); // Td start Tag
            txtSql.RenderControl(writer);
            writer.RenderEndTag(); // td End Tag
            writer.RenderEndTag();//tr End

            // Now Display the Button
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            btnExecuteSQL.RenderControl(writer);
                writer.RenderEndTag();
            writer.RenderEndTag();

            //Now Display the GridView
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            gvResults.RenderControl(writer);
            writer.RenderEndTag();
            writer.RenderEndTag();

            writer.RenderEndTag(); //Table End


        }


    }






}

1 Ответ

0 голосов
/ 19 сентября 2011

В файле web.config измените CustomErrors = "On" на CustomErrors = "Off".Это покажет фактическое сообщение об ошибке.Вы, вероятно, не обрабатываете события подкачки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...