Apr 22, 2009, 10:36 AM
TextField text disappearing
I have the following markup defining a form.
Can anyone shed any light on this for me please?
<ext:LayoutColumn>
<ext:Panel ID="pnlRoleDetails" runat="server" Frame="false" Title="Role Details" Height="474" Width="300" AutoScroll="true" BodyStyle="padding:5px;background-color:#e8e8e8;">
<Body>
<ext:FieldSet ID="FieldSet3" runat="server" CheckboxToggle="false" Title="Role" AutoHeight="true" >
<Body>
<ext:FormLayout ID="FormLayout1" runat="server" LabelWidth="75" LabelSeparator="" LabelAlign="Top">
<ext:Anchor>
<ext:TextField ID="txtRoleName" runat="server" FieldLabel="" AllowBlank="false" Width="260" ReadOnly="true" />
</ext:Anchor>
</ext:FormLayout>
</Body>
</ext:FieldSet>
<ext:FieldSet ID="Fieldset50" runat="server" CheckboxToggle="true" Title="Description" Collapsed="true">
<Body>
<ext:FormLayout ID="FormLayout11" runat="server" LabelWidth="75" LabelAlign="Top" LabelSeparator="">
<ext:Anchor>
<ext:TextArea ID="txtDescription" runat="server" FieldLabel="" AllowBlank="false" Text="" Width="260" />
</ext:Anchor>
</ext:FormLayout>
</Body>
</ext:FieldSet>
<ext:FieldSet ID="FieldSet4" runat="server" CheckboxToggle="true" Title="Privileges" AutoHeight="true" Collapsed="true">
<Body>
<ext:FormLayout ID="frmPrivileges" runat="server" LabelWidth="75">
<ext:Anchor>
<ext:Checkbox ID="chkSearch" runat="server" FieldLabel="Search" StateID="1">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:Checkbox ID="chkAdd" runat="server" FieldLabel="Add" StateID="2">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:Checkbox ID="chkDelete" runat="server" FieldLabel="Delete" StateID="3">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:Checkbox ID="chkEdit" runat="server" FieldLabel="Edit" StateID="4">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:Checkbox ID="chkQuery" runat="server" FieldLabel="Query" StateID="5">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:Checkbox ID="chkAmend" runat="server" FieldLabel="Amend" StateID="6">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:Checkbox ID="chkApprove" runat="server" FieldLabel="Approve" StateID="7">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:Checkbox ID="chkCancel" runat="server" FieldLabel="Cancel" StateID="8">
</ext:Checkbox>
</ext:Anchor>
<ext:Anchor>
<ext:Checkbox ID="chkComplete" runat="server" FieldLabel="Complete" StateID="9">
</ext:Checkbox>
</ext:Anchor>
</ext:FormLayout>
</Body>
</ext:FieldSet>
<ext:FieldSet ID="FieldSet5" runat="server" CheckboxToggle="true" Title="Users in Role" Collapsed="true" AutoHeight="true" >
<Body>
<ext:FormLayout ID="FormLayout3" runat="server" LabelWidth="75" LabelAlign="Top" LabelSeparator="">
<ext:Anchor>
<ext:MultiSelect ID="listUsers" runat="server" FieldLabel="" AutoPostBack="false" Width="260">
</ext:MultiSelect>
</ext:Anchor>
</ext:FormLayout>
</Body>
</ext:FieldSet>
</Body>
<TopBar>
<ext:Toolbar ID="Toolbar2" runat="server">
<Items>
<ext:ToolbarButton ID="btnAddRole" runat="server" Text="Add" Icon="UserOrange" AutoPostBack="false">
<AjaxEvents>
<Click OnEvent="btnAddRole_Click" />
</AjaxEvents>
</ext:ToolbarButton>
<ext:ToolbarButton ID="btnSaveRole" runat="server" Text="Save" Icon="Accept" AutoPostBack="false">
<AjaxEvents>
<Click OnEvent="btnSaveRole_Click" />
</AjaxEvents>
</ext:ToolbarButton>
<ext:ToolbarButton ID="btnRemoveUsers" runat="server" Text="Remove Users" Icon="UserDelete" AutoPostBack="false">
</ext:ToolbarButton>
</Items>
</ext:Toolbar>
</TopBar>
</ext:Panel>
</ext:LayoutColumn>
and the following code behind to handle a click eventprotected void btnSaveRole_Click(object sender, AjaxEventArgs e)
{
// save role in authentication database
if (!Roles.RoleExists(txtRoleName.Text))
{
Roles.CreateRole(txtRoleName.Text);
// save role in ea database
Role.CreateUserRole(txtRoleName.Text);
// save privileges for role in ea databse
List<int> privs = new List<int>();
foreach (Checkbox cb in frmPrivileges.Controls)
{if (cb.Checked)
privs.Add(Convert.ToInt32(cb.StateID));
}
Privileges.CreatePrivileges(txtRoleName.Text, privs.ToArray());
}
}
If I enter text in the 'txtRoleName' textfield it is empty when I come to get the value in the code-behind. I have done a search on txtRoleName.Text in my code-behind to make sure I do not empty the field the only time I do this is when I call an 'Add' function which clears the fields and makes ReadOnly = false.Can anyone shed any light on this for me please?