2016-08-27 2 views
2

Ich habe 2 Fragen, die ich nicht in der Lage bin, eine Lösung für Tage in Folge zu finden, und war wirklich hüpfte jemand von Ihnen hier könnte mir helfen.Ist es möglich, den Speicherort eines Formulars aus einer SQL/MySQL-Datenbank in ASP.net zu importieren?

. Ich versuche, eine Website/App zu erstellen, die es dem Benutzer ermöglicht, eine Software zu entwerfen, die sie mögen, und nachdem sie auf "Fertig" geklickt haben, wird der Speicherort dieser Schaltflächen in einer Datenbank, SQL Server oder MySQL gespeichert.

Die Benutzer müssen nur Drag-and-Drop-Schaltflächen, Textfelder und Comboboxen in ein leeres Panel.

Mit den Wurzeln dieser ist, kann ich so etwas wie

Button1 btn1 = new Button1(); 

in C# verstehen, wie ich Schaltflächen erstellen verwendet, aber nicht sicher, wie in asp.net + CSS, so etwas zu tun.

Und nachdem der Benutzer fertig ist, wenn er auf "Speichern" klickt, werden diese Details in eine Datenbank eingegeben.

Verbinden mit SQL Server ist einfach für mich, aber ich bin nicht in der Lage zu verstehen, die Funktion, den Code, wie Sie den Speicherort oder diese Schaltflächen festlegen, wenn die Seite geladen wird, die in den Speicherort gehen sie aufgeführt sind SQL-Datenbank Kann es nur durch Bearbeiten der Position in asp.net oder sogar in stylesheet.css getan werden (Es wäre gut, wenn es eine Lösung gibt, um dies durch Bearbeiten des Standorts in CSS zu tun)

. Wie können Sie eine einzelne Farbe deklarieren und sie dann allen Textfeldern, Schaltflächen usw. in CSS hinzufügen?

Beispielcode in C#

var MainColor = Color.Red; 

Textbox1.BackgroundColor = MainColor; 

ist es sogar möglich?

Vielen Dank dies für die Prüfung und für jeden Vorschlag

Antwort

0

Ich möchte auf die zweite Frage beantworten, weil ein nicht wirklich die erste verstand. Sie sollten eine CSS-Klasse definieren und sie für alle gewünschten Controller mit der Eigenschaft CssClass im ASPNET-Steuerelement definieren.

+0

auf der ersten, ich versuche, eine einfache Plattform zu machen. Der Benutzer kann Schaltflächen in der Plattform ziehen und ablegen, nachdem er mit der Bearbeitung des Formulars fertig ist und Speichern drückt. Der Speicherort dieser Schaltflächen, Farben und alles, was er hinzugefügt hat, um in einer Tabelle in der Datenbank gespeichert zu werden. Und wenn sich der Benutzer das nächste Mal anmeldet, wird das Formular angezeigt, während er bearbeitet hat. Auf PageLoad sollte ein Code sein, um diese Schaltflächen in derselben Form hinzuzufügen, wie sie zuvor vom Benutzer gespeichert wurden. Auch, danke für die Bearbeitung meiner Post, sieht aus wie ich ein paar Fehler gemacht von hetzen – berg96

1

Sie könnten Ihre Datenbanktabellen so entwerfen, dass sie die C# -Eigenschaften der Elemente, die Sie anbieten möchten, emulieren. Anschließend erstellen Sie Ihre Benutzeroberfläche zur Laufzeit mit den Eigenschaften der Schaltflächen oder Textfelder, die der Benutzer zur Entwurfszeit ausgewählt hat. Wenn Sie einen Primärschlüssel erstellen, der den Benutzer und die zu verwendende Benutzeroberfläche identifiziert (die möglicherweise als Dropdown-Menü angeboten wird, wenn mehrere Möglichkeiten bestehen), können Sie die Datenzeilen abrufen, die für die schnelle Erstellung der Benutzeroberfläche erforderlich sind.

Bearbeiten: Nehmen Sie zum Beispiel eine einfache Schaltfläche in einer ASP.NET-Anwendung.Es werden zahlreiche Eigenschaften haben mit ihm verbunden, aber ich werde nur ein paar zeigen:

  • Datentyp
  • CssClass
  • ID
  • Höhe
  • Text
  • Breite

In Ihrer Anwendung können Sie dem Benutzer erlauben, eine Schaltfläche auf die Seite zu ziehen und sie als th zu ändern Sie sehen fit. Sobald sie es haben, wie sie möchten, bieten Sie eine Methode zum Speichern der Eigenschaften dieser Schaltfläche in Ihrer Datenbank für den Rückruf, wenn sie die neue Seite erneut starten.

Es gibt verschiedene Möglichkeiten, die Daten zu speichern, aber wo ich arbeite, haben wir uns weitgehend auf eine Reihe von Schlüssel/Wert-Paaren festgelegt, so dass Sie einfach die Sache benennen können, an der Sie interessiert sind), und speichern Sie dann den Wert, der diesem Schlüssel zugeordnet ist, sie würden nur varchar Datentypen sein, und wenn Sie etwas anderes speichern müssen, verwenden Sie eine Methode, um die Zeichenfolge oder das Objekt zu analysieren. So könnten Ihre Tabellen etwa so aussehen:

| ID | EigentümerID | SeitenID | Schlüssel | Wert |

Also, um die Eigenschaften Ihrer Schaltfläche zu speichern, würden Sie einen AJAX-Aufruf an eine Webmethode machen, um die Zeichenfolge zu verarbeiten (wenn Sie nicht die ausgezeichneten Artikel von Dave Ward gelesen haben, empfehle ich diese) .

Für Benutzer 1 mit ihrer ersten Seite, und ignoriert die ID (wie es ein selbstinkrementierende Wert sein soll), SQL-Anweisung könnte so etwas wie dieses (MySQL-Syntax Beispiel) aussehen:

INSERT INTO MyTableName (OwnerID, PageID, Key, Value) 
VALUES 
(1, 1, "DataType", "Button"), 
(1, 1, "ID", "btnSubmit"), 
(1, 1, "CssClass", "Buttons"), 
(1, 1, "Height", "10"), 
(1, 1, "Text", "Submit"), 
(1, 1, "Width", "40"); 

Zum Aufbau des Seite zur Laufzeit, die Datenbank abfragen für die Elemente mit ihrer Seite verbunden ist, so etwas wie:

DataTable dt = SELECT * FROM MyTableName WHERE OwnerID = 1 and PageID = 1; 

Dann wird die zurückDatenTabelle der Daten verwenden, um die Seite dynamisch zu erstellen. Dieses

string btnName = new Button(); 
btnName.ID = dt["ID"].value; 
btnName.CssClass = dt["CssClass"].value; 
//etc. 

ist ein völlig ungetestet und kompilierten Beispiel schnell erstellt, um Ihnen eine Vorstellung davon zu geben, wie sie vorwärts zu bewegen. Hoffentlich ist es hilfreich.

2nd Edit: Um die Position der Schaltfläche (oder anderer Elemente) zu erhalten, müssen Sie JavaScript verwenden, um sie zu erhalten, und senden Sie diese über ein Data Transfer Object an Ihr Backend (siehe Verweis auf Dave Wards Methoden, genau das oben zu tun). This SO question sollten Sie in die richtige Richtung zeigen, um die Koordinaten für das Element zu erhalten.

+0

Ich bin nicht wirklich sicher, wenn ich verstand, was Sie mein Herr meinten, aber danke, ich werde dafür in Google suchen. – berg96

+0

Ich habe weitere Details hinzugefügt, die Ihnen hoffentlich einen Weg voraus geben werden. – delliottg

+0

danke delliottg.Es gab mir die Idee, wie man diese in die Datenbank einträgt. aber es ließ mich mit wenigen Fragen zurück. 1. Da ich das Design der Schaltflächen in einem Stylesheet im CSS-Format verwende. der Code, den Sie für die zurückgegebenen Daten geschrieben haben. sollte beim Laden der Seite in page.aspx.cs sein? 2. beim Einfügen der Daten. da ich nicht in der Lage sein werde, diese manuell in (1, 1, "DataType", "Button") zu schreiben, aber die Software wird sie erkennen, wie wird es verstehen, welches der Name der Schaltfläche ist? oder die Höhe oder wo befindet es sich? . noch nicht. Danke für die Post. Es war sehr hilfreich – berg96

Verwandte Themen