[Asp.net 2.0] Webcontrols wel gebruiken?

Pagina: 1
Acties:

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Goed ik ben dus een hele erge beginner met asp.net, maar nu loop ik tegen dingen aan waarvan ik het nut niet zo heel goed begrijp. Neem nu webcontrols, je kan bv met web.sitemap je site defineren, menu's etc.

Hiervoor heb je dan weer in webcontrol in je pagina:
Visual Basic:
1
2
3
4
5
6
7
<asp:menu id="menua" runat="server" 
                datasourceid="SiteMapDataSource1" 
                cssclass="menua" 
                orientation="Horizontal" 
                maximumdynamicdisplaylevels="0" 
                skiplinktext="" 
                staticdisplaylevels="2" />


Dit is een leuk en makkelijk idee, maar als je dan uiteindelijk naar de html code ga kijken, dan word ik er weer niet vrolijk van. Zo wordt het menu gemaakt met <table><tr>menu</tr></table> etc. Maar wanneer ik een menu wil, wil ik een <ul><li>Menu</li></ul> gebruiken en niet een tabel.

Kan je die webcontrols eigenlijk wel zo aanpassen, zodat ze in mijn ogen een beetje normaal Html eruit gooien? Of is dat het hele idee van webcontrols dat het zo lekker snel werkt?

Hetzelfde probleem heb ik met die <asp:login>, dit werkt op zich ideaal, maar ik wil me eigen html gebruiken. Nu heb ik hierop gezocht en kwam het volgende tegen:
Visual Basic:
1
2
3
4
5
<asp:Login runat="server">
  <LayoutTemplate>
    <!-- hier html -->
  </LayoutTemplate>
</asp:login>


Maar nu gooit die voor de layouttemplate weer een <table>.

Als dit dus het hele idee van die controls is, is het dan wel mogelijk dat ik bijvoorbeel mijn eigen login gebeuren in html schrijf, maar dat ik dan wel gebruik kan maken van de functies in MembershipProvider?

Sorry als het een beetje wazig verhaal is, maar ik vind het ook extreem onduidelijk allemaal nog B)

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Het is geen wazig verhaal ik heb soortgelijke ervaringen weliswaar in ASP.NET 1.1. De rendering van valide en semantisch correcte HTML voor sommige ASP Webcontrols laten inderdaad te wensen over en is IMHO een ernstige tekortkoming van ASP.NET

Als ik een Panel render krijg ik bijv. een DIV in IE en een Table in FireFox. Nu is dat weer met BrowserCaps te omzeilen, maar ik heb besloten om gewoon een serverside DIV te gebruiken.
Sommige controls hebben wel een LayoutMode property die je op flow en table kan zetten. Je zou eens kunnen kijken of je control die property bevat.

Als je volledige controle over je HTML wilt hebben gebruik dan templated controls zoals een Repeater. Ik heb toevallig voor een webproject ook een menu met LI's moeten genereren en toen heb ik ook gewoon een repeater gebruikt a la:
code:
1
2
3
4
5
6
7
8
9
<div id="menu">
    <ul>
    <asp:Repeater ID="rptNodes" EnableViewState="False" Runat="server">
        <ItemTemplate>
        <li class="menuitem"><a href="default.aspx?id=<%#  DataBinder.Eval(Container.DataItem, "id")%>"><%#  DataBinder.Eval(Container.DataItem, "text")%></a></li>
        </ItemTemplate>
    </asp:Repeater>
    </ul>
</div>

Het plaatsen van de menu item doe ik via Databinding aan een DataTable en dat werkt perfect.

[ Voor 11% gewijzigd door pjonk op 20-01-2006 11:43 ]

It’s nice to be important but it’s more important to be nice


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 12:56

GrimaceODespair

eens een tettenman, altijd ...

Verwacht iig maar niet dat de standaard .NET WebControls je leuke HTML opleveren :) Ze ondersteunen zelfs geen XHTML 1.0 strict. Bedrijven als Telerik hebben er hun levenswerk van gemaakt dit deficiet op te vangen (in overigens dure, maar zeer vette controls).

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • Folkert
  • Registratie: September 2001
  • Laatst online: 14-04 22:20
Ben zelf niet bekend met deze menu control maar veel asp.net controls kan je converteren naar een template, kan dat ook met het menu?

Hm, denk niet dat dat erin zit. Wat je zou kunnen doen, is repeaters te gaan nesten en zo het menu te krijgen. Dit is voor een dergelijk menu goed te doen en heb je de source volledig in eigen hand...

[ Voor 44% gewijzigd door Folkert op 20-01-2006 15:47 ]


Verwijderd

pjonk schreef op vrijdag 20 januari 2006 @ 11:42:
Als je volledige controle over je HTML wilt hebben gebruik dan templated controls zoals een Repeater.
Het adapter model biedt wellicht een betere oplossing :). Je kan een eigen MenuAdapter implementeren die een andere output rendert. Op deze manier kun je er dus op een eenvoudige manier voor zorgen dat het menu bvb. een lijst rendert ipv. een tabel.

Verder vraag ik me af in hoeverre ASP.NET (sinds 2.0...) geen of minimale ondersteuning biedt wat betreft standaarden zoals XHTML 1.0 strict?

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Verwijderd schreef op zaterdag 21 januari 2006 @ 15:02:
[...]
Verder vraag ik me af in hoeverre ASP.NET (sinds 2.0...) geen of minimale ondersteuning biedt wat betreft standaarden zoals XHTML 1.0 strict?
Nou het is allemaal wel valid XHTML 1.0, maar toch niet echt goed gebruik van HTML. Veel gebruik van tabellen etc, niet echt wat ik wil.

Maar ik ben er al dapper mee aan het knutselen :)
Pagina: 1