Come creare webparts Ajax Enabled

April 17

Come creare webparts Ajax Enabled


Asynchronous JavaScript and XML, o AJAX, è una combinazione di diverse tecnologie di programmazione. Queste lingue sono composti da CSS, DOM, XML, XSLT e JavaScript. A causa delle sue diverse componenti, AJAX può integrarsi con tutti i tipi di ambienti Web per creare effetti accattivanti su qualsiasi sito web. applicazioni AJAX migliorare la progettazione di siti web tradizionali, consentendo pagine Web per richiedere dal server solo le parti aggiornati e non l'intera pagina ricarica.

istruzione

1 Aprire Visual Studio 2005. Selezionare "Nuovo" dal menu File, quindi fare clic su "Progetto". Selezionare "Windows" in Tipi progetto in Visual Basic o C #. Scegliere "Class Library" nel riquadro Modelli, quindi input "Sample.SayHello" come nome per il progetto.

2 Scegliere "Class1.cs" in Esplora soluzioni per rinominare la classe iniziale. Fare clic destro sul file, selezionare Rinomina e ingresso "SayHelloWebPart" come nuovo nome del file. Fai clic su "Aggiungi riferimento" dal menu Progetto. Selezionare "System.Web.Extensions" nella finestra di dialogo Aggiungi riferimento nella scheda .NET, e fare clic su "OK". Ripetere gli ultimi due passaggi precedenti per lo spazio dei nomi System.Web. Aggiungere un riferimento al System.Web.UI.WebControls nella sezione riferimenti del file di classe e la costruzione di due variabili esclusive, se del caso, per l'interfaccia utente. Ecco ciò che il codice dovrebbe essere simile:

using System;

utilizzando System.Text;

utilizzando System.Web.UI;

utilizzando System.Web.UI.WebControls;

utilizzando System.Web.UI.WebControls.WebParts;

namespace Sample.SayHello

{

Classe SayHelloWebPart pubblico: WebPart

{

private Label displayName;

TextBox inputName privato;

}

}

In alcuni casi, come questa, una sola variabile è applicabile alla sezione UI.

3 Copia e incolla il codice qui sotto nel file SayHelloWebPart.cs per ignorare la funzione CreateChildControls:

protected override CreateChildControls vuoto ()

{

base.CreateChildControls ();

// Correzione per il comportamento di postback UpdatePanel.

EnsurePanelFix ();

LinkButton sayHello = new LinkButton ();

UpdatePanel refreshName = new UpdatePanel ();

ScriptManager scriptHandler = new ScriptManager ();

displayName = new Label ();

inputName = new TextBox ();

// Imposta proprietà di controllo.

this.displayName.ID = "displayName";

this.displayName.Text = "Ciao!";

this.inputName.ID = "inputName";

sayHello.ID = "sayHello";

sayHello.Text = "Say Ciao";

scriptHandler.ID = "scriptHandler";

refreshName.ID = "refreshName";

refreshName.UpdateMode = UpdatePanelUpdateMode.Conditional;

refreshName.ChildrenAsTriggers = true;

// Aggiungere il EventHandler al pulsante.

sayHello.Click + = new EventHandler (clickHandler);

// Aggiungere l'interfaccia utente (UI) controlli al UpdatePanel.

refreshName.ContentTemplateContainer.Controls.Add (this.inputName);

refreshName.ContentTemplateContainer.Controls.Add (sayHello);

refreshName.ContentTemplateContainer.Controls.Add (this.displayName);

// Il controllo ScriptManager deve essere aggiunto prima.

this.Controls.Add (scriptHandler);

this.Controls.Add (refreshName);

}

Ora, copiare e incollare questo codice nel file SayHelloWebPart.cs per costruire l'interfaccia utente e la funzione di gestione degli eventi:

ClickHandler private void (object sender, EventArgs args)

{

this.displayName.Text = "Ciao,"

+ this.inputName.Text.ToString() + ".";

}

4 Copia e incolla questo codice nelle SayHelloWebPart.cs file da modificare gli script per garantire il corretto comportamento doPostBack ():

EnsurePanelFix private void ()

{

if (this.Page.Form! = null)

{

String fixupScript = @"

_spBodyOnLoadFunctionNames.push ( "" _ initFormActionAjax "");

funzione _initFormActionAjax ()

{

if (_spEscapedFormAction == document.forms [0] .action)

{

document.forms [0] = ._ initialAction

document.forms [0] .action;

}

}

var RestoreToOriginalFormActionCore =

RestoreToOriginalFormAction;

RestoreToOriginalFormAction = function ()

{

if (_spOriginalFormAction! = null)

{

RestoreToOriginalFormActionCore ();

document.forms [0] = ._ initialAction

document.forms [0] .action;

}

} ";

ScriptManager.RegisterStartupScript (questo,

typeof(SayHelloWebPart), "UpdatePanelFixup",

fixupScript, true);

}

}

Consigli e avvertenze

  • Spostare la "WebPartManager" all'interno del tag form per garantire la corretta visualizzazione di tutti i suoi componenti associati.
  • Modificare la sezione head della pagina master e garantire che tutti i titoli tag sono sulla stessa linea per garantire una corretta visualizzazione.