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>

 

 

后台代码:

 

代码
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.....
        }
    }
}

 

 

posted @ 2010-01-17 17:06  唔愛吃蘋果  阅读(1953)  评论(1编辑  收藏  举报