Gridview中的OnRowCommand函数始终不被触发
我把问题描述一下吧,我想在这个GridView中动态加载Default.aspx?iid=1,Default.aspx?iid=2,然后获取点击的GridView中的行的id ,例如Default.aspx?iid=1中的“1”,我想把这个id放到Session["id"]里面 用来调取数据库内容,现在获取这个id碰到问题了,OnRowCommand函数不触发。。。。。。
UserControls_Sort.ascx前台程序如下:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserControls_Sort.ascx.cs" Inherits="UserControls_Sort" %>
<asp:GridView ID="sortList" runat="server" AutoGenerateColumns="False" GridLines="None" onrowcommand="sortList_RowCommand" >
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="iid"
DataNavigateUrlFormatString="Default.aspx?iid={0}" DataTextField="iname" >
</asp:HyperLinkField>
</Columns>
</asp:GridView>
UserControls_Sort.ascx.cs后台程序:
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 UserControls_Sort : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
//加载左边列表
DataTable dtInfoList = sort.GetInfoList();
sortList.DataSource = dtInfoList;
sortList.DataBind();
sortList.HeaderRow.Visible = false;
}
protected void sortList_RowCommand(object sender, GridViewCommandEventArgs e)
{
//读取点击行的id值
GridViewRow drv = (GridViewRow)((HyperLink)e.CommandSource).NamingContainer;
string id = sortList.Rows[drv.RowIndex].Cells[0].Text;
Session["id"] = id;
}
}
程序很简单,我学习使用C#不是很久,希望大家帮我处理下,谢谢了