Ich habe hier ein seltsames Problem.Warum kann ich eine TextBox nicht nach ID referenzieren, wenn sie sich in einem CreateUserWizard-Steuerelement befindet?
Innerhalb eines Asp.net CreateUserWizard, ich habe einige Elemente, aber ich kann nicht scheinen, um sie von meinem Code-behind zugreifen.
Hier ist ein Code-Schnipsel:
Markup:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CreateUserWizard.ascx.cs" Inherits="Web.UserControls.CreateUserWizard" %>
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" OnCreatingUser="CreatingUser">
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
<ContentTemplate>
<table border="0">
<tr>
<td>
<span class="requiredField"/>
<asp:Label ID="NameLabel" runat="server" AssociatedControlID="NameRequiredFieldValidator">Navn:</asp:Label>
<asp:CheckBox ID="ShareInfoCheckBox" runat="server" Checked="True" Text="Share my information with partner sites." />
</td>
<td>
<asp:TextBox ID="Name" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="NameRequiredFieldValidator" runat="server"
ControlToValidate="Name" ErrorMessage="Du skal indtaste dit navn"
ToolTip="Du skal indtaste dit navn" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
</tr>
</ContentTemplate>
</asp:CreateUserWizardStep>
</WizardSteps>
</asp:CreateUserWizard>
.. Und hier ist der Code-Behind:
public partial class CreateUserWizard : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void CreatingUser(object sender, EventArgs e)
{
Name. //no intellisense and compiler error when I try to access Name
}
}
Sollte das nicht? Es ist in einem UserControl, wenn dies einen Unterschied macht.
Vielen Dank im Voraus
Ich bevorzuge die "as TextBox" Notation es ist weniger wahrscheinlich, eine Ausnahme zu werfen –