Usuário com melhor resposta
DataList

Pergunta
-
Sei que este assunto está repetitivo, mas lá vai: Como obtenho os dados que estão dentro de um TextBox que está em um DataList. Não estou conseguindo obter os valores. Também gostaria de poder inserir dados no componente que está dentro do Datalist assim como alterar as propriedades do componente. Achei muita coisa na WEB em VB e estou apanhando bastante, então peço que quem tiver um exemplo em C# de como fazer isso e puder me passar eu ficaria muito grato. Abraços.
Cristian P. J.
Respostas
-
<%@ Page Language="C#" %>
<script runat="server">
protected void DataList1_EditCommand(object source,
DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
DataList1.DataBind();
}
protected void DataList1_CancelCommand(object source,
DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
DataList1.DataBind();
}
protected void DataList1_UpdateCommand(object source,
DataListCommandEventArgs e)
{
String categoryID =
DataList1.DataKeys[e.Item.ItemIndex].ToString();
String categoryName =
((TextBox)e.Item.FindControl("textCategoryName")).Text;
String description =
((TextBox) e.Item.FindControl("textDescription")).Text;
SqlDataSource1.UpdateParameters["original_CategoryID"].DefaultValue
= categoryID;
SqlDataSource1.UpdateParameters["categoryName"].DefaultValue
= categoryName;
SqlDataSource1.UpdateParameters["Description"].DefaultValue
= description;
SqlDataSource1.Update();
DataList1.EditItemIndex = -1;
DataList1.DataBind();
}
</script>
<html>
<head runat="server"></head>
<body>
<form id="form1" runat="server">
<div>
<br />
<asp:DataList runat="server"
DataKeyField="CategoryID"
DataSourceID="SqlDataSource1" ID="DataList1"
OnEditCommand="DataList1_EditCommand"
OnCancelCommand="DataList1_CancelCommand"
OnUpdateCommand="DataList1_UpdateCommand">
<EditItemTemplate>
ID: <asp:Label ID="Label1" runat="server"
Text='<%# Eval("CategoryID") %>'>
</asp:Label>
<br />
Name: <asp:TextBox ID="textCategoryName" runat="server"
Text='<%# Eval("CategoryName") %>'>
</asp:TextBox>
<br />
Description: <asp:TextBox ID="textDescription"
runat="server"
Text='<%# Eval("Description") %>'>
</asp:TextBox>
<br />
<asp:LinkButton ID="LinkButton1" runat="server"
CommandName="update" >
Save
</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server">
CommandName="cancel"
Cancel
</asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
CategoryID:
<asp:Label ID="CategoryIDLabel" runat="server"
Text='<%# Eval("CategoryID") %>'>
</asp:Label>
<br />
CategoryName:
<asp:Label ID="CategoryNameLabel" runat="server"
Text='<%# Eval("CategoryName") %>'>
</asp:Label>
<br />
Description:
<asp:Label ID="DescriptionLabel" runat="server"
Text='<%# Eval("Description") %>'>
</asp:Label>
<br />
<asp:LinkButton runat="server" ID="LinkButton1"
CommandName="edit" >
Edit
</asp:LinkButton><br />
</ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT [CategoryID], [CategoryName],
[Description] FROM [Categories]"
UpdateCommand="UPDATE [Categories] SET [CategoryName] =
@CategoryName, [Description] = @Description
WHERE [CategoryID] = @original_CategoryID">
<UpdateParameters>
<asp:Parameter Name="CategoryName" Type="String" />
<asp:Parameter Name="Description" Type="String" />
<asp:Parameter Name="original_CategoryID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>
fonte: MSDN 2005
Abs
Diogo Gomes