2015-03-17 1 views
0

Я создаю свою первую веб-часть Hello World, используя видео Cloud 9 в качестве учебника.Веб-часть с веб-сайтом SharePoint 2013 не запускается

Я использую Azure VM с SharePoint 2013, SQL Server 2012 и VS 2013 Премиум Update 4.

Веб-часть представляет собой простое текстовое поле с кнопкой и этикетки. Событие click вызывает метод, который устанавливает текст метки в «Hello», + текст из текстового поля.

protected void btnSubmitThis_Click(object sender, EventArgs e) 
    { 
     lblOutput.Text = "Hello, " + txtTextBox.Text; 
    } 

Я смог нажать мою веб-часть и вставить ее в мою домашнюю страницу SharePoint 2013.

Щелчок даже ничего не делает. Собственно, при запуске отладки я вижу, что все конструкторы OnInit() и Page_Load() выполняются, но btnSubmitThis_Click() не делает.

Веб-часть имеет прикрепленный файл ascx.g.cs.

Я могу видеть, что этот файл также содержит код, приведенный ниже, показывает, что событие делает обрабатывать метод правильно:

 [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)] 
    [GeneratedCodeAttribute("Microsoft.VisualStudio.SharePoint.ProjectExtensions.CodeGenerators.SharePointWebP" + 
     "artCodeGenerator", "12.0.0.0")] 
    private global::System.Web.UI.WebControls.Button @__BuildControlbtnSubmitThis() { 
     global::System.Web.UI.WebControls.Button @__ctrl; 
     @__ctrl = new global::System.Web.UI.WebControls.Button(); 
     this.btnSubmitThis = @__ctrl; 
     @__ctrl.ApplyStyleSheetSkin(this.Page); 
     @__ctrl.ID = "btnSubmitThis"; 
     @__ctrl.Text = "Submit"; 
     @__ctrl.Click -= new System.EventHandler(this.btnSubmitThis_Click); 
     @__ctrl.Click += new System.EventHandler(this.btnSubmitThis_Click); 
     return @__ctrl; 
    } 

Есть ошибки не генерируется, что я могу видеть, событие щелчка просто не звонит метод.

Что мне здесь не хватает?

Я готов ответить на любой вопрос, так как мне очень хотелось бы разобраться в этом, и я провел несколько дней самостоятельно.

Большое спасибо за вашу помощь.

Код добавлен по запросу:

ASCX:

<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %> 
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %> 
<%@ Import Namespace="Microsoft.SharePoint" %> 
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HelloWorldWebPart.ascx.cs" Inherits="HelloWorld.HelloWorldWebPart.HelloWorldWebPart" %> 
<p> 
    Name: 
    <asp:TextBox ID="txtTextBox" runat="server"></asp:TextBox> 
&nbsp;<asp:Button ID="btnSubmitThis" runat="server" OnClick="btnSubmitThis_Click" Text="Submit" /> 
</p> 
<asp:Label ID="lblOutput" runat="server"></asp:Label> 

ascx.cs:

using System; 
using System.ComponentModel; 
using System.Web.UI.WebControls.WebParts; 

namespace HelloWorld.HelloWorldWebPart 
{ 
[ToolboxItemAttribute(false)] 
public partial class HelloWorldWebPart : WebPart 
{ 
    // Uncomment the following SecurityPermission attribute only when doing Performance Profiling on a farm solution 
    // using the Instrumentation method, and then remove the SecurityPermission attribute when the code is ready 
    // for production. Because the SecurityPermission attribute bypasses the security check for callers of 
    // your constructor, it's not recommended for production purposes. 
    // [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Assert, UnmanagedCode = true)] 
    public HelloWorldWebPart() 
    { 
    } 

    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     InitializeControl(); 
    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     int Test = 0; 
    } 

    protected void btnSubmitThis_Click(object sender, EventArgs e) 
    { 
     lblOutput.Text = "Hello, " + txtTextBox.Text; 
    } 
} 
} 
+0

Визуальный веб-сайт или веб-страница? Если визуальный WP выведет ascx, в противном случае разместите конструктор webpart. Я подозреваю, что вы не привязываете событие click к разметке. – Max

+0

Эй, Макс. Visual WebPart. Я добавляю код к ascx – NicVerAZ

+0

Я думаю, что отсутствует какой-либо объект из разметки? Кнопка и ярлык? – Max

ответ

0

Он не хотел работать в качестве песочницы. Хотя отладка сложнее в решении фермы, она кажется более надежной.