Ich versuche hier, ein Modul zu erstellen, das mit einem Webhosting-Warenkorbprozess verknüpft ist.Problem mit Literalen und ViewState
Der erste Schritt sollte ein Textfeld mit einem "Hinzufügen" -Button haben. Diese Schaltfläche überprüft die Verfügbarkeit einer Domäne und fügt sie zu einer Liste hinzu.
Das Ziel hier ist, die Liste der verifizierten Domäne grundsätzlich anzuzeigen und die richtige Aktion als Radioboxen zu geben (registrieren Sie, wenn es frei ist, übertragen Sie andernfalls oder verweisen Sie direkt auf die Domäne).
Also im Grunde überprüfe ich die Verfügbarkeit und dann ein Literal-Steuerelement in einem Platzhalter hinzufügen.
Das Problem damit ist der Viewstate (wenn ich vorwärts und rückwärts gehe, verliere ich die Entscheidungen, die ich mit den Domains getroffen habe).
die html:
(...)
<asp:MultiView ID="mvFlow" runat="server" ActiveViewIndex="0">
<asp:View ID="vDomain" runat="server" onactivate="vDomain_Activate">
<asp:TextBox ID="txtDomain" runat="server" style="margin-bottom: 0px"
Width="254px"></asp:TextBox>
<asp:Button ID="domainAdd" runat="server" onclick="domainAdd_Click"
style="height: 26px" Text="Ajouter" />
<br />
<br />
<asp:PlaceHolder ID="phDomainResults" runat="server"></asp:PlaceHolder>
<br />
<br />
<asp:LinkButton ID="lbDomainSkip" runat="server" onclick="lbDomainSkip_Click">Prochaine
étape »</asp:LinkButton>
</asp:View>
(...)
dahinter ist im Grunde so etwas wie dieses:
lt.Text =
"<dl>" +
"<dt><strong>" + txtDomain.Text + "</strong> <span style='color:green;'>Le domaine est disponible</span></dt>" +
"<dd><input type='radio' name='" + txtDomain.Text.Replace('.', '_') + "_action' value='register' /> Register</dd>" +
"<dd><input type='radio' name='" + txtDomain.Text.Replace('.', '_') + "_action' value='transfert' disabled='disabled' /> Transfert</dd>" +
"<dd><input type='radio' name='" + txtDomain.Text.Replace('.', '_') + "_action' value='point' /> Point</dd>" +
"</dl>";
Es muss möglich sein, die Dinge logisch und einfach zu machen?
Nach Vorschlag, den ich tat dies:
LiteralControl lt = new LiteralControl();
RadioButtonList rl = new RadioButtonList();
lt.Text = "<strong>" + txtDomain.Text + "</strong> <span style='color:green;'>Le domaine est disponible</span>";
rl.Items.Add(new ListItem { Enabled = true, Selected = true, Text = "Enregistrement", Value = "register" });
rl.Items.Add(new ListItem { Enabled = false, Selected = false, Text = "Transfert", Value = "transfert" });
rl.Items.Add(new ListItem { Enabled = true, Selected = false, Text = "Pointer moi même", Value = "point" });
//phDomainResults is a PlaceHolder in the page
phDomainResults.Controls.Add(lt);
phDomainResults.Controls.Add(rl);
Scheint nicht mehr zu arbeiten ...
Versucht, scheint nicht die Liste selbst zu speichern .. – Erick