GridView之实用第一招:CommandArgument绑定多个参数
前台代码:
代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" PageSize="1" runat="server"
AutoGenerateColumns="False" AllowPaging="true" Width="100%"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="id" HeaderText="编号" />
<asp:BoundField DataField="title" HeaderText="公告标题" />
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton runat="server" ID="EditData" CommandName="Edit"
CommandArgument='<%#Eval("id")+","+Eval("title") %>' ></asp:LinkButton>
<asp:LinkButton runat="server" ID="DeleteData" CommandName="Delete" CommandArgument='<%#Eval("id") %>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings Mode="NumericFirstLast" FirstPageText="首页"
PreviousPageText="上一页" NextPageText="下一页" LastPageText="尾页" />
</asp:GridView>
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" PageSize="1" runat="server"
AutoGenerateColumns="False" AllowPaging="true" Width="100%"
onpageindexchanging="GridView1_PageIndexChanging"
onrowcommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="id" HeaderText="编号" />
<asp:BoundField DataField="title" HeaderText="公告标题" />
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton runat="server" ID="EditData" CommandName="Edit"
CommandArgument='<%#Eval("id")+","+Eval("title") %>' ></asp:LinkButton>
<asp:LinkButton runat="server" ID="DeleteData" CommandName="Delete" CommandArgument='<%#Eval("id") %>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings Mode="NumericFirstLast" FirstPageText="首页"
PreviousPageText="上一页" NextPageText="下一页" LastPageText="尾页" />
</asp:GridView>
</div>
</form>
</body>
</html>
后台代码:
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Default5 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GvBinds();
}
}
private void GvBinds()
{
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("title", typeof(string));
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GvBinds();
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("EditData"))
{
String[] argument = e.CommandArgument.ToString().Split(',');
string id=argument[0];
string title = argument[1];
Server.Transfer("EditData.aspx?id="+id+"&title="+title);
}
else if (e.CommandName.Equals("DeleteData"))
{
String argument=e.CommandArgument.ToString();
//Delete statement.....
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Default5 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GvBinds();
}
}
private void GvBinds()
{
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("title", typeof(string));
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
dt.Rows.Add(new Object[] { 1, "test1" });
dt.Rows.Add(new Object[] { 2, "test2" });
dt.Rows.Add(new Object[] { 3, "test3" });
dt.Rows.Add(new Object[] { 4, "test4" });
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GvBinds();
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("EditData"))
{
String[] argument = e.CommandArgument.ToString().Split(',');
string id=argument[0];
string title = argument[1];
Server.Transfer("EditData.aspx?id="+id+"&title="+title);
}
else if (e.CommandName.Equals("DeleteData"))
{
String argument=e.CommandArgument.ToString();
//Delete statement.....
}
}
}