Frage

Ich habe eine webpart in c # für Sharepoint erstellt. seine im Grunde eine Form mit Textfeldern, Literale, Validierer und Tasten.

im nicht sicher, wie diese Form zu machen, um es hübsch aussehen. Das Layout usw. wird vollständig innerhalb dieser C # Klasse getan.

Im Moment im just overrinding CreateChildControls() Methode loszuzulegen und das Hinzufügen jeder Formularsteuerung mit so etwas wie: this.Controls.Add(submitButton);

alle Ideen auf, wie man am besten diese Form Layout?

Danke.

War es hilfreich?

Lösung

Wenn Sie benutzerdefinierte webparts Schaffung ich auch lieber, sie umzusetzen durch zwingende die Createchildcontrols () und Render () Methoden. In dem Render () Methode, die ich die volle Kontrolle über die HTML-Ausgabe und ich kann meine inneren Kontrollen durch den Aufruf von this.someInnerControl.RenderControl (Drehbuch) .

render

volle Kontrolle über die HTML-Ausgabe zu haben, macht es auch einfach, die HTML mit CSS stylen. Wie andere Leute schon sagt, eine externe CSS-Datei verwenden und die Gerstenkörner auf die Klasse Attribut auf HTML-Elemente oder CssClass Eigenschaft auf ASP.NET Web Control anwenden.

Wenn ich webparts implementieren, die keine speziellen Branding erfordert, ziehe ich die CSS-Klassen, die von Sharepoint definiert wiederzuverwenden. Dadurch wird sichergestellt, dass meine webpart visuell ähnlich die webpart von Sharepoint zur Verfügung gestellt und dass ich immer ein einheitliches Look and Feel.

Wenn Sie die Sharepoint definiert CSS-Stile verwenden, sollten Sie bewusst Ihre HTML-Ausgabe sein. Einige der CSS-Klassen erfordern eine bestimmte HTML-Struktur, um richtig zu machen. Sie können jederzeit den Browser „View Source“ verwenden, um den HTML-Code des Sharepoint-Elements überprüfen Sie zu imitieren versuchen.

Andere Tipps

Ich würde empfehlen, die Quelle, aus einer vorhandenen Sharepoint-Seite greifen und die Stile von Sharepoint definiert ist. Dieser Link auf die Stile, 2003 ist alt, aber immer noch ein guter Führer zu loslegen. Die meisten der CSS-Klassennamen nicht geändert haben.

In meinen Web-Teilen I umfassen CSS-Dateien in der Lösung und injizieren sie in der Seite mit so etwas wie:

this.Page.Header.RegisterCss("/_layouts/path/to/css/file.css", false);

können Sie die Render außer Kraft setzen (...) Methode, um manuell den HTML zu machen in irgendeiner Weise Sie wollen. Dazu gehören alle CSS-Zugabe enthält, Scripting enthält, etc., die Sie / verwenden möchten.

Sie können Ihr Kind Kontrollen in Strings und dann gibt sie auch machen, aber man sollte wahrscheinlich das base.RenderContents nicht nennen (...) Methode.

So stellen Sie sicher, dass Sie nicht vergessen, Ihr Kind Kontrollen zu machen.

Wenn es wichtig ist für Sie, wie Sie sehen entwerfen, verwenden Sie die Smartpart , die eine Benutzersteuerung bettet in einem Web-Teil. (Falls Sie nicht wissen, können Benutzersteuerungen entwickelt werden mithilfe der Tools in Visual Studio).

Wenn Sie es vorziehen zu-Code übergeben, dann sind Sie auf dem richtigen Weg sind. Erstellen Sie einfach und ursprüngliche Eigenschaften für Ihre Kontrollen innerhalb der Createchildcontrols () Methode und verwenden this.Controls.Add () wie Sie gewesen sind.

In beiden Fällen, wo möglich, die CssClass Eigenschaft verwenden, so dass Sie mit dem Look and Feel in einer CSS-Datei neu zu kompilieren basteln können, ohne. Sie könnte hard-Code der CSS-Klassennamen, aber es wäre besser, die Webparteigenschaften oder eine externe Konfigurationsquelle zu verwenden, diese zu speichern. Haben Sie einen Verweis auf die CSS-Datei in Ihrer Master-Seite oder injiziert es in der Seite, die anderen Techniken in dieser Antwort erwähnt werden.

Die MSDN Artikel Webparts in Windows Sharepoint Services oder < a href = "http://msdn.microsoft.com/en-us/library/ms415817.aspx" rel = "nofollow noreferrer"> eine Basis-Webpart erstellen könnte auch helfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top