Salut,
N'étant pas convaincu par le rendu des RadioButtonList et CheckBoxList en mode flow et surtout layout j'aimerais créer un contrôle personnalisé pour chacun d'eux.
En fait, j'aimerais intégrer les boutons radio dans une liste non ordonnée (<ul>).
Le rendu proposé étant :J'aimerais obtenir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input id="Case1" type="checkbox" name="Case" /> <label for="Case1">Case 1</label>Or je n'arrive pas à retourner les checkbox dans la méthode Render! Voici une tentative simple et infructueuse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <ul> <li> <input id="Case1" type="checkbox" name="Case" /> <label for="Case1">Case 1</label> </li> .... </ul>J'ai beau chercher, lire la documentation msdn, quelque chose me manque!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Public Class RadioButtonList Inherits System.Web.UI.WebControls.RadioButtonList Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) writer.RenderBeginTag(HtmlTextWriterTag.Ul) For Each item As ListItem In Me.Items writer.RenderBeginTag(HtmlTextWriterTag.Li) writer.Write(item) writer.RenderEndTag() Next writer.RenderEndTag() 'MyBase.Render(writer) End Sub End Class
Pour une page aspx :J'ai en retour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <%@ Page Language="VB" AutoEventWireup="false" CodeFile="radioButtonList.aspx.vb" Inherits="ControleSurcharge_radioButtonList" %> <%@ Register Assembly="Bibliotheque" Namespace="Bibliotheque.Controls" TagPrefix="im" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Page sans titre</title> </head> <body> <form id="form1" runat="server"> <div> <im:RadioButtonList ID="test" runat="server"> <asp:ListItem Value="0" Text="0"></asp:ListItem> <asp:ListItem Value="1" Text="1"></asp:ListItem> <asp:ListItem Value="2" Text="2"></asp:ListItem> </im:RadioButtonList> </div> </form> </body> </html>Qui est le contenu des ListItem, mais donc visiblement pas des boutons radio.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Page sans titre</title> </head> <body> <form name="form1" method="post" action="radiobuttonlist.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTYxODA3MDMyMQ9kFgICAw9kFgICAQ8QZGQWAGRkPuFMu4QtKDopHNzWNTnykQm8lQA=" /> </div> <div> <ul> <li>0</li><li>1</li><li>2</li> </ul> </div> </form> </body> </html>
Saurez-vous m'aider?
Merci par avance.
Partager