ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
972
972
EMPFEHLEN
-
19.04.10 20:53 #1
- Registriert seit
- Jan 2010
- Beiträge
- 6
Schönen guten Abend liebe Tutorials.de Gemeinde.
Ich lese bei Fragen sehr oft in diesem Forum bzw. in den Tutorials. Bei der momentanen Frage komme ich jedoch seit einigen Tagen nicht weiter. Eigentlich ist sie ganz Simpel.
Ich will nur z.B. in einen Button ein Bild einfügen. Bei den Forms könnte man ja einfach Ableiten und dann OnPaint aufrufen. Wie sieht dies jedoch auf einer WebSite aus?
Also zur Umgebung. Das ganze ist eine einfache .aspx website, welche in C# programmiert ist. "Normale" Control-Elemente Dynamisch erzeugen ist soweit auch kein Problem. Das problem ist ich will jetzt nur noch ein Bild auf einen normalen Button setzten. Wie kann ich das machen? Ich bin für jeden Tipp dankbar, da ich wie gesagt, entweder die falschen Stichwörter gegooglet habe oder ich hier einfach auf die Nase gefallen bin, aber so schwer kann das doch nicht sein oder?
Viele Grüße Matthias
-
Hi
es gibt buttons, imagebuttons und linkbuttons. Auf einen normalen button kann man meines Wissens kein Bild setzen. Ich denke mal, dass musst Du Dir schon selbst basteln oder schauen, ob jemand es schon getan hat. Das Stichwort ist Composite control.
Control
Einfach mal etwas suchen, auch nach engl. sprachigen Begriffen.
Man kann aber auch aus Linkbutton mit asp:image und asp:label einen benutzerdefinierten Button bauen.
Bist übrigens im falschen Forum hier. Es gibt bei tutorials auch einen NET Bereich.
Geändert von Luzie (24.04.10 um 01:39 Uhr)
liebe Grüße, die Luzie
-
24.04.10 00:16 #3
- Registriert seit
- Jan 2010
- Beiträge
- 6
Hallo,
Vielen Dank für die Antwort, nach dem Stichwort werde ich natürlich gleich suchen.. könnte dann pls jemand diesen Thema in den .NET Teil dieses Forums schieben? Vielen Dank!
Der Link geht leider nicht, bei mir kommt da ein Critical Error...
Du hörst dich so an, als ob du etwas Ahnung von der Materie hättest.... hast du ein gutes Tutorial, beil bisher bin ich oft auf GoDotNet verwießen wurden, dies wurde ja aber leider geschlossen...
Einen schönen Abend noch, Matthias
-
Hi
also der Link funktioniert bei mir, hab es gerade noch mal ausprobiert.
Ich beschäftige mich sein rd. 1/2 Jahr mit asp.net, habe jetzt nicht wirklich richtig viel Ahnung. Routine habe ich in Classik ASP (dieses Forum).
Aber die Servercontrols in asp.net kann man erweitern, sprich über User-controls, benutzerdef. Controls bzw. composite Controls. Man muss einfach mal suchen bzw. über eine Anleitung selbst kreativ werden.
Ich habe z.B. neulich ein fertiges Composite Control gefunden, was Dropdownlist und Button in einem war. Ich konnte hier ein selectonchange auslösen und gleichzeitig ein commandargument übergeben. Super !!
na dann, viel Glück!
Achso, wg. dem Verschieben, enfach einen Moderator anschreiben.
liebe Grüße, die Luzie
-
24.04.10 00:41 #5
- Registriert seit
- Jan 2010
- Beiträge
- 6
...hört sich sehr gut an, den Link hast du sicher nicht mehr oder die Datei?
Das mit dem Link irritiert mich etwas... ich hab ihn mit Opera, IE und dem Firefox probiert.. jedesmal kommt:
.codersource.net/asp-net/asp-net-advanced/creating-a-composite-control-in-asp-net.aspx?error=Hashtable+insert+failed.+Load+factor+too+high.&content=0HTML-Code:A critical error has occurred. Hashtable insert failed. Load factor too high. -------------------------------------------------------------------------------- Creating a Composite Control in Asp .Net
...also mit http://www, ist bei mir die Verlinkung...
Gruß Matthias
-
Hi
mich irritiert das auch, keine Ahnung warum das so ist. Bei funktioniert das, kann den Fehler auch nicht provozieren. Vllt. gebietsabhängig. Ansonsten mal nach Fehler googlen.
Hier nochmal 2 Links. (hoffe, du kannst sie lesen)
wie man ein Control aufbaut
und der Link auf Joteke.Control
Geändert von Luzie (24.04.10 um 01:38 Uhr)
liebe Grüße, die Luzie
-
24.04.10 16:59 #7
- Registriert seit
- Jan 2010
- Beiträge
- 6
Hallo Luzie,
Das Beispiel des Joteke.Control's ist sehr interessant und geht auch in die richtige Richtung, so weit ich es verstehe... Jedoch bekomme ich es nicht zum laufen
du hattest dich gestern bzw. heute so angehört, als ob du es schon am laufen hattest, könntest du es bitte noch einmal kurz für mich zusammenstellen und zum download bereitstellen? ich wäre dir extrem dankbar dafür! Im moment Fehlt mir einfach das Beispiel, an dem ich rumprobieren kann etc... 
Viele Grüße Matthias
-
Hallo
also mit meinem Beispiel wirst Du nicht viel anfangen können, das ist in vb convertiert und da musste ich auch eine kleine Änderung vornehmen, die aber wohl darauf beruhte, dass der Converter nicht richtig "übersetzt" hatte.
Aber nochmal, das ist ein Steuerelement, was über eine Dropdownmenü sichtbar ist, nicht über den Button. Es hat nur den Vorteil, dass man die Buttoneigenschaften mit nutzen kann.
Ich nutze es wie folgt:
Ich habe ein Gridview, im itemtemplate liegt in einer Zeile dieses Steierelement als Dropdownmenü. Dort habe ich dann mehrere Listenpunkte integriert und frage diese Listenpunkte im RowCommand Event des Gridviews ab. Wichtig war für mich, dass ich über das commandargument verschiedene Werte mitgeben kann. z.B. die id. Über selectonchange springe ich dann in einem Wizard hin und her, wo mir dann unterschiedliche Formulare zur Verarbietung aufgerufen werden.
dies ist das Control
Code :1 2 3 4 5 6 7 8
<jc:CommandDropDown CommandName="wechsel" DataTextField="navText" AppendDataBoundItems="true" DataValueField = "id" DataSource= '<%# PopulateControls() %>' CommandArgument='<%# eval("kursid") & "|" & eval("themen") %>' ID="cd1" runat="server" AutoPostBack="true"> <asp:ListItem Value="0" >-- Bearbeitung auswählen --</asp:ListItem> </jc:CommandDropDown>
und dies ist gridview rowCommand, wo ich dieses Steuerelement verarbeite.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
Sub grid_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Dim gvRow As GridViewRow = _ CType(CType(e.CommandSource, Control).NamingContainer, GridViewRow) 'Dim gvRow As GridViewRow = CType(CType(sender, Control).Parent.Parent, _ 'GridViewRow) Dim index As Integer = gvRow.RowIndex Dim row As GridViewRow = grid.Rows(index) Dim cmbType As DropDownList = _ DirectCast(row.FindControl("cd1"), DropDownList) 'If e.CommandName = "Edit" Then ' cmbType.AutoPostBack = False ' cmbType.SelectedValue = 0 'End If If e.CommandName = "wechsel" And e.CommandName IsNot "Edit" Then If e.CommandArgument IsNot Nothing Then Dim argument As String() = e.CommandArgument.split("|") Dim myID As Integer = Convert.ToInt32(argument(0)) Dim myThema As String = argument(1) Me.tbKennziffer.Text = myID.ToString Me.lblSeminarThema.Text = "(" & argument(1).ToString & ")" If cmbType.SelectedValue > 0 Then Me.Wizard1.ActiveStepIndex = cmbType.SelectedValue Select Case cmbType.SelectedValue Case 0 Me.lbltext.Text = "Daten ansehen und ändern" Case 1 Me.lbltext.Text = "Neue Daten einfügen" btncopy(myID.ToString) cmbType.AutoPostBack = False Case 2 Me.lbltext.Text = "Details einfügen" Case 4 Hotelaufruf(getIsNumeric(Me.tbKennziffer.Text)) 'Me.tbDokumenteID.Text = myID.ToString ' getSeminarNichtInDetails(myID.ToString) ' getSeminarInDetails(myID.ToString) End Select 'Response.Write("selected Value: " & cmbType.SelectedValue & ", CommandArgument: " & e.CommandArgument) End If End If End If
Wie gesagt, die Klasse habe ich übernommen wie im Beispiel.
Einen kleinen Fehler hat das ganze aber noch, wenn ich das paging des Gridviews benutze, bekomme ich einen Fehler auf die 1. Zeile. Den muss ich allerdings noch recherchieren. Mit dem Fehler kann ich allerdings leben, da ich das paging so gut wie nie nutze und wenn ich es nicht ändern kann, nehme ich das Paging weg.liebe Grüße, die Luzie
-
Hallo
wie per pn geschreiben, hänge ich Dir eine Demoversion an.liebe Grüße, die Luzie
Ähnliche Themen
-
OnPaint problem
Von 10110010 im Forum .NET Grafik und SoundAntworten: 4Letzter Beitrag: 11.02.09, 20:00 -
GDI+ Grafik / OnPaint
Von TheShihan im Forum VisualStudio & MFCAntworten: 7Letzter Beitrag: 27.02.08, 10:04 -
OnPaint event hook
Von KainPlan im Forum C/C++Antworten: 5Letzter Beitrag: 26.02.08, 11:44 -
OnPaint() selbst auslösen
Von ensae im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 27.02.04, 18:28 -
Button Farbe Ändern
Von eDreamer im Forum Delphi, Kylix, PascalAntworten: 3Letzter Beitrag: 22.03.03, 23:36





Zitieren
Login





