对于下面的代码
<asp:TemplateColumn HeaderText="修改">
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id=LinkButton1 onclick=LinkButton1_Click runat="server" CausesValidation="False" CommandName='<%#DataBinder.Eval(Container.DataItem, "id")%>'>[修改]</asp:LinkButton></FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton2" runat="server" CausesValidation="False">[删除]</asp:LinkButton></FONT>
</ItemTemplate>
</asp:TemplateColumn>
我想要在点击LinkButton的时候, 发生一个事件相应, 能够处理LinkButton所在那一行的数据
请问应该怎样实现呢? 比如说要得到 那一行 其他列的值
谢谢.....
<asp:TemplateColumn HeaderText="修改">
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id=LinkButton1 onclick=LinkButton1_Click runat="server" CausesValidation="False" CommandName='<%#DataBinder.Eval(Container.DataItem, "id")%>'>[修改]</asp:LinkButton></FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton2" runat="server" CausesValidation="False">[删除]</asp:LinkButton></FONT>
</ItemTemplate>
</asp:TemplateColumn>
我想要在点击LinkButton的时候, 发生一个事件相应, 能够处理LinkButton所在那一行的数据
请问应该怎样实现呢? 比如说要得到 那一行 其他列的值
谢谢.....
解决方案 »
- jquery做的弹出层想关闭的层的时候就跳转页面怎么做?
- 跪求一个数据表的设计?
- 哪位能给我一份软件需求说明书的范本看看?
- 在线等。特急救命。。。。问题不大
- 如何获得焦点
- 问一个与字符有关的问题。。。
- 输入用的控件是用HTML 输入控件还是.Net里的控件好
- 下了个留言板, 我不会配置 帮忙呀 兄弟门
- 把SQL数据从数据库里读出来写到XML里面去,在ASP.NET下面实现,哪位好心的GG有DEMO的,可以给我借鉴一下!
- 提供 windows server 2003 下载,....................................连接不上不要骂我
- 如何让dataGrid内有一个滚动条,可以拖动浏览冗余的数据,还有怎么在浏览的是时候改变DataGrid的大小,听说要用Htc,有代码最好.
- textbox的visible属性设置为false后,客户端不会生成的html语法?
{
LinkButton lb = (LinkButton)sender;
DataGridItem dgi = (DataGridItem)lb.Parent.Parent;
TextBox tb = (TextBox)dgi.FindControl("YOurTextBoxID");
//....
}
按照 楼上的方法好像没有什么结果
其他的代码 如下
<asp:TemplateColumn HeaderText="帐号ID">
<ItemTemplate>
<FONT face="宋体">
<asp:Label id="userId" runat="server">
<%# DataBinder.Eval(Container.DataItem, "id") %>
</asp:Label></FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="帐号标题">
<ItemTemplate>
<FONT face="宋体">
<asp:Label id="userName" runat="server">
<%# DataBinder.Eval(Container.DataItem, "name") %>
</asp:Label></FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="帐号描述">
<ItemTemplate>
<FONT face="宋体">
<asp:Label id="userDesc" runat="server">
<%# DataBinder.Eval(Container.DataItem, "description") %>
</asp:Label></FONT>
</ItemTemplate>
</asp:TemplateColumn>我的事件响应的 代码是
public void LinkButton1_Click(object sender, System.EventArgs e)
{
Panel1.Visible = true;
LinkButton lb = (LinkButton)sender;
DataGridItem dgi = (DataGridItem)lb.Parent.Parent;
string s = ((Label)dgi.FindControl("userName")).Text;
Response.Write("<script language='javascript'>alert('" + s + "')</script>");
}结果alert没有结果
这个怎么解释呢?
是不是还要编辑EditItem
谢谢 ..........
public void LinkButton1_Click(object sender, System.EventArgs e)
{
Panel1.Visible = true;
LinkButton lb = (LinkButton)sender;
DataGridItem dgi = (DataGridItem)lb.Parent.Parent;
Label lb= (Label)dgi.FindControl("userName");//改这里。和下面
string s = lb.Text;
Response.Write("<script language='javascript'>alert('" + s + "')</script>");
}
我看到了一个网站 100MB asp和 asp.net空间 现在促销,
同学们可以做一个简单的个人网站用来找工作 ,
支持 asp.net 一年才50元!不要错过哦!!!
速度非常快,一般公司企业 足够用了!
http://www.hi876.com
希望能对大家有帮助
----
你这里面是什么?
你想要这个按钮响应事件,你必须设定它的COMMANDNAME的值,然后在DATAGRID中的ITEMCOMMAND事件里面,进行判断,如下:
if(e.CommandName = "你设定的值")
{
//执行操作,当前行就是e.Item.ItemIndex;
}
那个没有什么用
当时想的时 用commnadName 是不是能够传递值
后来放弃了
没有去掉 to xzq686(瞬)
俺试一试, 谢谢
结果还是一样的
没有结果
郁闷中...........谢谢 楼下的
<asp:DataGrid id="DataGrid1" runat="server">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:LinkButton id=LinkButton1 onclick=LinkButton1_Click runat="server" CausesValidation="False">[修改]</asp:LinkButton>
<asp:Label id="userName" runat="server" Text='<%#Container.DataItem%>'></asp:Label></ItemTemplate>
</asp:TemplateColumn></Columns>
</asp:DataGrid>
</form><script language="C#" runat="server">
public void LinkButton1_Click(object sender, System.EventArgs e)
{
LinkButton lb = (LinkButton)sender;
DataGridItem dgi = (DataGridItem)lb.Parent.Parent;
string s = ((Label)dgi.FindControl("userName")).Text;
Response.Write("<script language='javascript'>alert('" + s + "')</" + "script>");
}public void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
DataGrid1.DataSource = new string[] {"a","b","c"};
DataGrid1.DataBind();
}
}
</script>
我再看看去
有问题再向您请教 ,,,,,,
<%@ Register TagPrefix="uc1" TagName="top" Src="../top.ascx" %>
<%@ Page language="c#" Codebehind="setadmin.aspx.cs" AutoEventWireup="false" Inherits="new_one.admin.setadmin" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>addphoto</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="../css/css.css" type="text/css" rel="stylesheet">
<script language="JavaScript">
<!--
function displayMenu(id)
{
if(id.style.display=="none")
{
id.style.display="";
}
else
{
id.style.display="none";
}
}
//-->
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 184px; POSITION: static; TOP: 160px" cellSpacing="0"
cellPadding="0" width="780" border="0">
<TR>
<TD colSpan="3"><uc1:top id="Top1" runat="server"></uc1:top></TD>
</TR>
<TR>
<TD vAlign="top" width="18%"><asp:label id="menu" runat="server">menu</asp:label></TD>
<TD vAlign="top" colSpan="2">
<table cellSpacing="0" cellPadding="5" width="90%" align="center" border="0">
<tr>
<th scope="row">
<table borderColor="#dddddd" cellSpacing="0" cellPadding="3" width="100%" border="1">
<tr>
<td>管理帐号</td>
</tr>
</table>
</th>
</tr>
<tr>
<td>
<table borderColor="#dddddd" cellSpacing="0" cellPadding="3" width="100%" border="1">
<tr>
<td>提示: 对帐号进行更改和删除</td>
</tr>
</table>
</td>
</tr>
<tr>
<td vAlign="top">
<table style="TABLE-LAYOUT: fixed" borderColor="#cccccc" cellSpacing="0" cellPadding="3"
width="100%" border="1">
</table>
<asp:datagrid id="DG1" runat="server" Width="100%" PageSize="5" AllowPaging="True" AutoGenerateColumns="False">
<AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
<HeaderStyle BackColor="#DDDDDD"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="帐号ID">
<ItemTemplate>
<FONT face="宋体">
<asp:Label id="userId" runat="server">
<%# DataBinder.Eval(Container.DataItem, "id") %>
</asp:Label></FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="帐号标题">
<ItemTemplate>
<FONT face="宋体">
<asp:Label id="userName" runat="server">
<%# DataBinder.Eval(Container.DataItem, "name") %>
</asp:Label></FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="帐号描述">
<ItemTemplate>
<FONT face="宋体">
<asp:Label id="userDesc" runat="server">
<%# DataBinder.Eval(Container.DataItem, "description") %>
</asp:Label></FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="修改">
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id=LinkButton1 onclick=LinkButton1_Click runat="server" CausesValidation="False" CommandName='<%#DataBinder.Eval(Container.DataItem, "id")%>'>[修改]</asp:LinkButton></FONT>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="删除">
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton2" runat="server" CausesValidation="False">[删除]</asp:LinkButton></FONT>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle NextPageText="下一页" PrevPageText="上一页"></PagerStyle>
</asp:datagrid></td>
</tr>
<tr>
<td align="center"><asp:panel id="Panel1" runat="server" Visible="False">
<TABLE id="Table2" style="WIDTH: 566px; HEIGHT: 168px" borderColor="#dddddd" cellSpacing="0"
cellPadding="3" width="566" border="1">
<TR>
<TD>帐号</TD>
<TD>
<asp:TextBox id="name" runat="server" Width="144px" CssClass="box_12"></asp:TextBox></TD>
</TR>
<TR>
<TD>密码</TD>
<TD>
<asp:TextBox id="passwd1" runat="server" Width="144px" CssClass="box_12"></asp:TextBox></TD>
</TR>
<TR>
<TD>确认密码</TD>
<TD>
<asp:TextBox id="passwd2" runat="server" Width="144px" CssClass="box_12"></asp:TextBox></TD>
</TR>
<TR>
<TD width="20%">描述(可选)</TD>
<TD>
<asp:TextBox id="description" runat="server" Width="432px" CssClass="box_12" TextMode="MultiLine"
Height="72px"></asp:TextBox></TD>
</TR>
<TR align="center">
<TD colSpan="2">
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="帐号" ControlToValidate="name"
EnableViewState="False"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="密码" ControlToValidate="passwd1"
EnableViewState="False"></asp:RequiredFieldValidator>
<asp:CompareValidator id="CompareValidator1" runat="server" ErrorMessage="密码不一致" ControlToValidate="passwd2"
ControlToCompare="passwd1"></asp:CompareValidator></TD>
</TR>
</TABLE>
<asp:Button id="Button1" runat="server" CssClass="btn_gray" Text="保存设置"></asp:Button>
</asp:panel></td>
</tr>
</table>
</TD>
</TR>
</TABLE>
</form>
</body>
</HTML>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace new_one.admin
{
/// <summary>
/// setadmin 的摘要说明。
/// </summary>
public class setadmin : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Panel Panel1;
protected System.Web.UI.WebControls.TextBox name;
protected System.Web.UI.WebControls.TextBox passwd1;
protected System.Web.UI.WebControls.TextBox passwd2;
protected System.Web.UI.WebControls.TextBox description;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected System.Web.UI.WebControls.CompareValidator CompareValidator1;
protected System.Web.UI.WebControls.DataGrid DG1;
protected System.Web.UI.WebControls.Label menu;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
menu.Text = Session["menu"].ToString();
Bind();
}
} private void Bind()
{
new_one.class_one.admin Admin = new new_one.class_one.admin();
DataSet ds = Admin.getAdmin();//返回一个DataSet
DG1.DataSource = ds;
DG1.DataKeyField = "id";
DG1.DataBind();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DG1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DG1_PageIndexChanged);
this.DG1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DG1_EditCommand_1);
this.DG1.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DG1_DeleteCommand);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void DG1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DG1.CurrentPageIndex = e.NewPageIndex;
Bind();
} private void DG1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
Panel1.Visible = true;
name.Text = ((Label)e.Item.FindControl("userName")).Text;
description.Text = ((Label)e.Item.FindControl("userDesc")).Text;
Button1.CommandArgument = DG1.DataKeys[e.Item.ItemIndex].ToString();
} private void Button1_Click(object sender, System.EventArgs e)
{
} public void LinkButton1_Click(object sender, System.EventArgs e)
{
Panel1.Visible = true;
LinkButton lb = (LinkButton)sender;
DataGridItem dgi = (DataGridItem)lb.Parent.Parent;
string s1 = ((Label)dgi.FindControl("userId")).Text;
string s2 = ((Label)dgi.FindControl("userDesc")).Text;
string s3 = ((Label)dgi.FindControl("userName")).Text;
string s = s1 + s2 + s3;
Response.Write("<script language='javascript'>alert('" + s.Length + "')</script>");
} public void LinkButton2_Click(object sender, System.EventArgs e)
{
} private void DG1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
} private void DG1_EditCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
}
}
}
alert的结果总是显示s的长度为0
这是为什么呢>
谢谢楼下的..............