none
Capturar Valor de um TextBox dentro de um EditItemTemplate de um DataList RRS feed

  • Pergunta

  • Amigos, tenho um arquivo aspx com o seguinte DataList e Tamplate:

     
     <EditItemTemplate>
                            
                Name: <asp:TextBox ID="nameTextBox" runat="server" Text=<%#Eval("Name") %> /> <br />
                Username: <asp:TextBox ID="usernameTextBox" runat="server" Text=<%#Eval("Username") %> /> <br />
                
                <asp:LinkButton ID="UpdateButton" runat="server"
                Text="Update Editing"
                CommandName="UpdateItem"
                CommandArgument=<%#Eval("EmployeeID") %> />                      
                
                or
                
                <asp:LinkButton ID="cancelButton" runat="server"
                Text="Cancel Editing"
                CommandName="CancelItem"
                CommandArgument=<%#Eval("EmployeeID") %> />
                            
            </EditItemTemplate>

    Ok. Obviamente ele mostrará este template apenas quando estiver editando um item do DataList.

    Agora, vejamos o meu código em um arquivo aspx.cs para tratar os eventos dos LinkButtons de cada item:

    .
    .
    .
    else if (e.CommandName == "UpdateItem")
            {
                int employeeID = Convert.ToInt32(e.CommandArgument);
                
                TextBox nameTextBox = (TextBox)e.Item.FindControl("nameTextBox");
                string newName = nameTextBox.Text;
    
                TextBox usernameTextBox = (TextBox)e.Item.FindControl("usernameTextBox");
                string newUsername = usernameTextBox.Text;
    
                UpdateItem(employeeID, newName, newUsername);
    
                employeeList.EditItemIndex = -1;
    
                BindList();
            }
    .
    .
    .

    Quando altero algum TextBox para o novo valor, quando o código acima executa ele não recupera este, mas sim o valor antes do post. Por exemplo, se esta escrito "Teste" antes do post, mudo para "Valendo" e clico no botão atualizar, o valor que vai para o UpdateItem é "Teste" e não o "Valendo". O que há de errado?


    • Editado SS Mamede domingo, 2 de dezembro de 2012 00:53
    domingo, 2 de dezembro de 2012 00:51

Respostas

Todas as Respostas