<asp:BoundColumn DataField="A" ></asp:BoundColumn>
<asp:BoundColumn DataField="B" ></asp:BoundColumn>
<asp:TemplateColumn HeaderText="修改" HeaderStyle-Width=7% ItemStyle-HorizontalAlign=Center>
<ItemTemplate>
<asp:Label runat="server" ID="Label1" Text='<%# ModURL(DataBinder.Eval(Container.DataItem,"A").ToString(),DataBinder.Eval(Container.DataItem,"B").ToString())%>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn> ModURL()是自己在.cs里写的函数,输出想要的URL字符串

解决方案 »

  1.   

    public string ModURL(string strA,string strB) 
    {
    string strURL = "<a href=xxx.aspx?A="+strA+"&B="+strB+">修改</a>";
    return strURL;
    }
      

  2.   

    我需要的是数据字段A在DATAGRID中显示的值(点击的那行)。再用该值去查询数据库
      

  3.   

    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
               switch( e.CommandName)
               {
        case "修改":
    string strURL = "<a href=xxx.aspx?A="+e.Item.Cells[i].Text+"&B="+e.Item.Cells[j].Text+">修改</a>";
    return strURL;
    }}                          //i,j 分别表示A和B所在的列数
      

  4.   

    那这列设置成buttoncolumn可以吗?他还要什么属性?
      

  5.   

    在 DataGrid 中添加一个“选择”按钮列,在 SelectItemChange 事件中可以获得该行的数据
      

  6.   

    怎么获得,我不能设置DATAKEY!!!
      

  7.   

    DataBinder.Eval(Container.DataItem,"A").ToString()我写的这个就是字段A的值!!!
      

  8.   

    可以设置LinkButton的CommandArgument属性
    如下,UserName对应A,Email对应B
    读取
    string [] pks = e.CommandArgument.ToString().Split(new char[0]{'|'});=======================================================<asp:datalist id="DataListUsers" runat="server" Width="100%">
    <HeaderTemplate>
    <TABLE id="Table2" cellSpacing="1" cellPadding="1" width="100%" align="center" border="1">
    <TR align="center">
    <TD width="100">用户名称</TD>
    <TD width="100">邮件地址</TD>
    <TD width="100">操作选项</TD>
    </TR>
    </HeaderTemplate>
    <ItemTemplate>
    <TR>
    <TD><%# ((DataRowView)Container.DataItem)["UserName"] %></TD>
    <TD><%# ((DataRowView)Container.DataItem)["Email"] %></TD>
    <TD><asp:LinkButton id="lnkEdit" CommandName="Edit" CommandArgument='<%# ((DataRowView)Container.DataItem)["Email"] %>|<%# ((DataRowView)Container.DataItem)["UserName"] %>' runat="server" CausesValidation="false">编辑
    </asp:LinkButton>&nbsp;&nbsp;<asp:LinkButton id="lnkDelete" CommandName="Delete" runat="server" CausesValidation="false">删除
    </asp:LinkButton></TD>
    </TR>
    </ItemTemplate>
    <EditItemTemplate>
    <TR>
    <TD><%# ((DataRowView)Container.DataItem)["UserName"] %></TD>
    <TD><%# ((DataRowView)Container.DataItem)["Email"] %></TD>
    <TD><asp:LinkButton id="Linkbutton1" CommandName="Update" runat="server" CausesValidation="false">更新
    </asp:LinkButton>&nbsp;&nbsp;<asp:LinkButton id="Linkbutton3" CommandName="Cancel" runat="server" CausesValidation="false">取
    消</asp:LinkButton>&nbsp;&nbsp;<asp:LinkButton id="Linkbutton2" CommandName="Delete" runat="server" CausesValidation="false">
    删除</asp:LinkButton></TD>
    </TR>
    </EditItemTemplate>
    <FooterTemplate>
    <TR>
    <TD></TD>
    <TD></TD>
    <TD></TD>
    </TR>
    </TABLE>
    </FooterTemplate> 
    </asp:datalist>private void DataListUsers_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
    DataList dataList = (DataList)source;
    int userID = (int)dataList.DataKeys[e.Item.ItemIndex];
    //int userID = e.CommandArgument;
    string [] pks = e.CommandArgument.ToString().Split(new char[0]{'|'});
    switch(e.CommandName)
    {
    case "Delete":
    //...
    break;
    case "Update":
    //...
    break;
    case "Edit":
    //...
    break;
    case "Cancel":
    //...
    dataList.EditItemIndex = -1;
    break;
    }
    //BindUsersData();
    }
      

  9.   

    e.Item.Cells[0].Text,用这个去查询数据库