So fügen Sie eine ordnungsgemäße Vorlage für benutzerdefinierte Formformulare hinzu
-
16-10-2019 - |
Frage
Ich erstelle eine benutzerdefinierte Formularvorlage für eine Liste und diese Formularvorlage verwendet viele Steuerelemente wie Panels und Dropdowns. Ich verwende eine Rendering -Vorlage im Ordner controlTemplates und funktioniert. Ich möchte jetzt der Steuervorlage Code-Behind hinzufügen, und ich kann kein Beispiel dafür finden, wie dies richtig geht. Ich verwende VSEWSS 1.3 und VS 2008 und habe meine Lösung für alle Setups. Ich möchte nur wissen, wie Sie eine Code-Behind-Seite für diese Vorlage einrichten.
Lösung
Erstellen Sie einfach Ihren Code im Voraus, lassen Sie ihn in das Bin_app_bin und lassen Sie die Klassenerklärung im <@Control -Tag fallen.
< %@ Control Language = "C#" inherits = "yourNameSpace.class, yourassembly
Andere Tipps
Es gibt viele Beispiele dafür, wie es geht.
Dies war das erste Beispiel, das Google mir gab
http://jamestsai.net/blog/post/using-aspnet-web-user-control-with-code-behind-in-sharepoint.aspx
Da es mir nicht gelungen war, dies richtig zu machen, versuchte ich zu verstehen, ob ich es wirklich so machen musste, wie ich es tat. Wie sich herausstellte, konnte ich stattdessen ein benutzerdefiniertes Webpart erstellen und meine Steuerelemente dort einsetzen und dann nur eine andere Seite für die neuen und bearbeiteten Formulare verwendet. Ich bin mir nicht sicher, ob dies wirklich jemandem hilft, genau das habe ich getan, um den Job zu erledigen.
Ich habe auch das gleiche Problem wie das OP. Ich möchte hier mehr von John Dandison hier, wenn Sie noch zuhören!
Ich habe das Attribut des Erbens mit dem 5 -Teil -Namen zur Steueranweisung hinzugefügt. Mein Code hinter der Klasse sieht so aus.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
namespace MyNamespace
{
public class CustomRenderingTemplate : UserControl
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
}
}
Die Rendering -Vorlage lädt OK. Ich habe den 2 Overiden -Methoden einen Bruchpunkt hinzugefügt und es wird auch nicht getroffen, also gehe ich davon aus, dass es nicht in Ordnung ist? Kannst du mir helfen? Erbe ich von der richtigen Klasse - UserControl?
http://www.andrewconnell.com/blog/articles/usingcodeBehindFilesinsharePointsites.aspx
Ich benutze die VSEWS nicht, aber der Prozess ist der gleiche. Sie müssen den 5-teiligen Namen des Codes dahinter abrufen und ihn in das Attribut der ASPX-Erben in der Seitenrichtlinie verkabeln.