Repeater 中放 LinkButton

fireworksloveyou 2007-08-15 02:44:05
aspx

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="usermanage.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">


<p align="center"><font size="+3"><strong>用户管理</strong></font></p>
<p align="center"> </p>
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"> <HeaderTemplate>
<table width="500" border="1" align="center" cellpadding="0" cellspacing="0">


<tr>
<td width="86"><div align="center">用户ID</div></td>
<td width="86"><div align="center">用户名</div></td>
<td width="86"><div align="center">密码</div></td>
<td width="86"><div align="center">权限</div></td>
<td width="86"><div align="center">角色</div></td>
<td width="86" colspan="2"><div align="center">超作</div></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"uid")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"username")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"password")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "purview")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "role")%></td>
<td>
<asp:LinkButton runat="server" CommandName="updata" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "uid")%>' ID="updataer">修改</asp:LinkButton></td>
<td>

<asp:LinkButton runat="server" CommandName="delete" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "uid")%>' ID="deleteer">删除</asp:LinkButton>
</td>

</tr>
</ItemTemplate>
<FooterTemplate>

</table>
</FooterTemplate>
</asp:Repeater>
                       
                       
                       
   
<input id="Button1" type="button" value="添加新用户" onclick="javascript:window.open ('page.aspx', 'newwindow', 'height=150, width=350, top=200,left=300, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no,status=no') "/>

</asp:Content>


aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
handset set = new handset();
protected void Page_Load(object sender, EventArgs e)
{
this.Repeater1.DataSource = set.getdataset().Tables[0];
this.Repeater1.DataBind();
//if (!IsPostBack)
//{
// getbind();
//}
}
public void getbind()
{
this.Repeater1.DataSource = set.getreader("usermanage");
this.Repeater1.DataBind();
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "updataer")
{
Response.Write("<script language='javascrip'>window.open('http://www.google.com');</script>");


}

if (e.CommandName == "delete")
{


//string ID = Convert.ToString(e.CommandArgument);
//set.delete(ID);
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton myBtn = (LinkButton)e.Item.FindControl("deleteer");

myBtn.Attributes.Add("onclick", "javascript:return confirm('您确认删除吗?');");
}
}

}
}


每次点击LinkButton 都要刷一次才有反应,就是说 每次点第一次的时候没反应 点第2次才击发事件 是怎么回事啊


...全文
382 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fireworksloveyou 2007-08-15
  • 打赏
  • 举报
回复
那怎么取 CommandArgument 的值
我要把这个值传到另一个页面
MicroDeviser 2007-08-15
  • 打赏
  • 举报
回复
一样的撒,把你这段代码放在itemdatadatabound事件里
fireworksloveyou 2007-08-15
  • 打赏
  • 举报
回复
顶起~
fireworksloveyou 2007-08-15
  • 打赏
  • 举报
回复
怎么没人回答啊`?
fireworksloveyou 2007-08-15
  • 打赏
  • 举报
回复
我做成这样的怎么处理啊
LinkButton up = (LinkButton)e.Item.FindControl("updataer");
up.Attributes.Add("onclick","javascript:window.open ('page.aspx?id="+e.CommandArgument+"', 'newwindow', 'height=150, width=350, top=200,left=300, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no,status=no')");
sansuihub 2007-08-15
  • 打赏
  • 举报
回复
弹出确认框在Repeater1_ItemDataBound事件
e.CommandArgument 取值用在Repeater1_ItemCommand事件
fireworksloveyou 2007-08-15
  • 打赏
  • 举报
回复
e.CommandArgument 取值怎么办?
Jinglecat 2007-08-15
  • 打赏
  • 举报
回复
>>>

protected void Repeater1_ItemDataBound(object source, RepeaterCommandEventArgs e)
{
LinkButton myBtn = (LinkButton)e.Item.FindControl("deleteer");
if(myBtn == null) return;
myBtn.Attributes.Add("onclick", "javascript:return confirm('您确认删除吗?');");
}
luomingchao 2007-08-15
  • 打赏
  • 举报
回复
因你点第一次时,才给该按钮加了一个onclick事件.
myBtn.Attributes.Add("onclick", "javascript:return confirm('您确认删除吗?');");
第二次时(它有了onclick事件),它会执行该事件.

你应该在repeater的itembound(加载每一项时)时,对这个按钮加上这个事件.这样才会有用.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧