不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
DataList的ItemCommand使用案例
编辑:dnawo 日期:2008-04-11
前言:在DataList中,除了EditCommand、UpdateCommand、DeleteCommand和CancelCommand这四个比较常用的事件外,还有一个事件也比较常用,那就是ItemCommand!什么情况下会触发ItemCommand呢?比较普遍的说法是除了EditCommand、UpdateCommand、DeleteCommand和CancelCommand四个事件外其他的行为都将触发ItemCommand事件,也就是说,我们将可以使用ItemCommand来自定义一些事件的处理程序,甚至完全可以用ItemCommand来代替EditCommand、UpdateCommand、DeleteCommand和CancelCommand,下边我们写个例子来看看怎么使用ItemCommand。
Default.aspx:
Default.aspx.cs:
Default.aspx:
复制内容到剪贴板
程序代码

<asp:DataList ID="DataList1" runat="server" OnItemCommand="DataList1_Item" DataKeyField="ID">
<HeaderTemplate>
<!-- 头部 -->
</HeaderTemplate>
<ItemTemplate>
<div style="background-color:Red;"><%# Eval("age")%><asp:Button ID="Button1" CommandName="myedit" runat="server"
Text="Edit" /><asp:Button ID="Button2" CommandName="mydelete" runat="server" Text="Delete" /></div>
</ItemTemplate>
<AlternatingItemTemplate>
<div style="background-color:Green;"><%# Eval("age")%><asp:Button ID="Button3" CommandName="myedit" runat="server" Text="Edit" /><asp:Button ID="Button4" CommandName="mydelete" runat="server" Text="Delete" /></div>
</AlternatingItemTemplate>
<SeparatorTemplate>
<hr style="height:1px;" />
</SeparatorTemplate>
<SelectedItemTemplate>
<!-- 选中行样式 -->
</SelectedItemTemplate>
<EditItemTemplate>
<div><asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("age") %>'></asp:TextBox>
<asp:Button
ID="Button7" CommandName="myupdate" runat="server" Text="Update" /><asp:Button ID="Button8" CommandName="mycancel" runat="server"
Text="Cancel" /></div>
</EditItemTemplate>
<FooterTemplate>
<!-- 底部 -->
</FooterTemplate>
</asp:DataList>
<HeaderTemplate>
<!-- 头部 -->
</HeaderTemplate>
<ItemTemplate>
<div style="background-color:Red;"><%# Eval("age")%><asp:Button ID="Button1" CommandName="myedit" runat="server"
Text="Edit" /><asp:Button ID="Button2" CommandName="mydelete" runat="server" Text="Delete" /></div>
</ItemTemplate>
<AlternatingItemTemplate>
<div style="background-color:Green;"><%# Eval("age")%><asp:Button ID="Button3" CommandName="myedit" runat="server" Text="Edit" /><asp:Button ID="Button4" CommandName="mydelete" runat="server" Text="Delete" /></div>
</AlternatingItemTemplate>
<SeparatorTemplate>
<hr style="height:1px;" />
</SeparatorTemplate>
<SelectedItemTemplate>
<!-- 选中行样式 -->
</SelectedItemTemplate>
<EditItemTemplate>
<div><asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("age") %>'></asp:TextBox>
<asp:Button
ID="Button7" CommandName="myupdate" runat="server" Text="Update" /><asp:Button ID="Button8" CommandName="mycancel" runat="server"
Text="Cancel" /></div>
</EditItemTemplate>
<FooterTemplate>
<!-- 底部 -->
</FooterTemplate>
</asp:DataList>
Default.aspx.cs:
复制内容到剪贴板
程序代码

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
//private SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql"].ToString());
private SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=sa;database=Northwind;");
protected void Page_Load(object sender, EventArgs e)
{
conn.Open();
if (!IsPostBack)
{
BindData();
}
}
protected void Page_UnLoad(object sender, EventArgs e)
{
conn = null;
}
private void BindData()
{
SqlDataAdapter sda = new SqlDataAdapter("Select Top 10 * From Table1", conn);
DataSet ds = new DataSet();
sda.Fill(ds, "Table1");
DataList1.DataSource = ds.Tables["Table1"].DefaultView;
DataList1.DataBind();
}
protected void DataList1_Item(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "myedit")
{
DataList1.EditItemIndex = e.Item.ItemIndex;
BindData();
}
else if (e.CommandName == "myupdate")
{
string loginname = ((TextBox)e.Item.FindControl("TextBox1")).Text;
string id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
SqlCommand cmd = new SqlCommand("Update Table1 Set age='" + loginname + "' Where ID=" + id, conn);
cmd.ExecuteNonQuery();
DataList1.EditItemIndex = -1;
BindData();
}
else if (e.CommandName == "mydelete")
{
string id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
SqlCommand cmd = new SqlCommand("Delete From Table1 Where ID=" + id, conn);
cmd.ExecuteNonQuery();
DataList1.EditItemIndex = -1;
BindData();
}
else if (e.CommandName == "mycancel")
{
DataList1.EditItemIndex = -1;
BindData();
}
}
}
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
//private SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql"].ToString());
private SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=sa;database=Northwind;");
protected void Page_Load(object sender, EventArgs e)
{
conn.Open();
if (!IsPostBack)
{
BindData();
}
}
protected void Page_UnLoad(object sender, EventArgs e)
{
conn = null;
}
private void BindData()
{
SqlDataAdapter sda = new SqlDataAdapter("Select Top 10 * From Table1", conn);
DataSet ds = new DataSet();
sda.Fill(ds, "Table1");
DataList1.DataSource = ds.Tables["Table1"].DefaultView;
DataList1.DataBind();
}
protected void DataList1_Item(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "myedit")
{
DataList1.EditItemIndex = e.Item.ItemIndex;
BindData();
}
else if (e.CommandName == "myupdate")
{
string loginname = ((TextBox)e.Item.FindControl("TextBox1")).Text;
string id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
SqlCommand cmd = new SqlCommand("Update Table1 Set age='" + loginname + "' Where ID=" + id, conn);
cmd.ExecuteNonQuery();
DataList1.EditItemIndex = -1;
BindData();
}
else if (e.CommandName == "mydelete")
{
string id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
SqlCommand cmd = new SqlCommand("Delete From Table1 Where ID=" + id, conn);
cmd.ExecuteNonQuery();
DataList1.EditItemIndex = -1;
BindData();
}
else if (e.CommandName == "mycancel")
{
DataList1.EditItemIndex = -1;
BindData();
}
}
}






评论: 0 | 引用: 0 | 查看次数: 6625
发表评论
请登录后再发表评论!