我在Repeater模板里面放了一个button 一开始button 的值是“处理中”,然后点击button后 button 的值改为“处理完成”但我 点击一行时,这一列跟着我点击的变化了! 不知道怎么弄的!望高手指点。前台代码:<asp:Repeater ID="Repeater1" OnItemDataBound="Repeater1_OnItemDataBound"
runat="server" onitemcommand="Repeater1_ItemCommand">
<ItemTemplate>
<tr>
<td class="ttb24" style="text-align: center;">
<asp:Button ID="Button2" runat="server" Text="处理中" OnClick="state_blick"/>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>后台代码:
button事件: protected void state_blick(object sender, EventArgs e)
{
buttonBind();
}
private void buttonBind()
{
foreach (RepeaterItem item in Repeater1.Items)
{
Button but = (Button)item.FindControl("Button2");
if (but.Text == "处理中")
{
but.Text = "处理完成";
}
else
{
but.Text = "处理中";
}
}
}
runat="server" onitemcommand="Repeater1_ItemCommand">
<ItemTemplate>
<tr>
<td class="ttb24" style="text-align: center;">
<asp:Button ID="Button2" runat="server" Text="处理中" OnClick="state_blick"/>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>后台代码:
button事件: protected void state_blick(object sender, EventArgs e)
{
buttonBind();
}
private void buttonBind()
{
foreach (RepeaterItem item in Repeater1.Items)
{
Button but = (Button)item.FindControl("Button2");
if (but.Text == "处理中")
{
but.Text = "处理完成";
}
else
{
but.Text = "处理中";
}
}
}
解决方案 »
- showModalDialog页面的关闭事件
- 这一小段代码看能不能帮我简化一下.
- C#中如何判断一个数据库的表是否已经被打开?
- 在建立与服务器的连接时出错,在连接到sql server2005时,在默认设置下sql server不允许进行远程连接可能导致此失败
- 关于MIS系统登录的问题,是否有必要做加密
- 放分,ldhao (翰海)来接
- 正则表达式问题,请个位XDJM帮忙!
- 如何用WMI 来获取远程机器的目录以及文件,以及对文件进行删除操作!
- 我用C#.NET做了个小程序,请问怎么能让他随机器的启动而运行。谢谢!
- 如何在c#的ArrayList中一次删除多个对象。
- 有没有人试过用更新activex版本号后,用IE9浏览器去安装成功后提示要重启电脑
- 项目发布上线
{
if (e.CommandName == "stateON")
{
int myid = Convert.ToInt32(e.CommandArgument);
DataSet3TableAdapters.MyThirdTableAdapter adapter = new DataSet3TableAdapters.MyThirdTableAdapter();
adapter.qiyong("启用", myid);
Repeater1.DataBind();
}
else if(e.CommandName=="stateOFF")
{
int myid = Convert.ToInt32(e.CommandArgument);
DataSet3TableAdapters.MyThirdTableAdapter adapter2 = new DataSet3TableAdapters.MyThirdTableAdapter();
adapter2.qiyong("禁用", myid);
Repeater1.DataBind();
}
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)//对于Header,Footer等不进行处理
{
DataRowView myview = (DataRowView)e.Item.DataItem;
var mystate = (DataSet3.MyThirdRow)myview.Row;
if (mystate.State.Trim() == "禁用")
{
// HtmlGenericControl myspan = (HtmlGenericControl)e.Item.FindControl("yang");
// myspan.Attributes["class"] = "warning";
HtmlTableRow yang=(HtmlTableRow)e.Item.FindControl("y");
yang.Attributes["class"]="warning";
//myspan.Style["background-color"]="red";
Button en = (Button)e.Item.FindControl("state1");
Button dien = (Button)e.Item.FindControl("state2");
en.Visible = true;
dien.Visible = false;
}
else if(mystate.State.Trim()=="启用")
{
//HtmlGenericControl myspan = (HtmlGenericControl)e.Item.FindControl("yang");
//myspan.Attributes["class"] = "nowarning";
HtmlTableRow yang = (HtmlTableRow)e.Item.FindControl("y");
yang.Attributes["class"] = "nowarning";
Button en = (Button)e.Item.FindControl("state1");
Button dien = (Button)e.Item.FindControl("state2");
en.Visible = false;
dien.Visible = true;
}
}
else
{
return;
}
}前台:<ItemTemplate><tr id="y" runat="server"><td><%#Eval("ID") %></td><td><%#Eval("Name") %></td><td><%#Eval("State") %></td><td><asp:Button runat="server" Text="启用" CommandName="stateON" CommandArgument='<%#Eval("ID") %>' ID="state1"/></td><td><asp:Button runat="server" Text="禁用" CommandName="stateOFF" CommandArgument='<%#Eval("ID") %>' ID="state2" OnClientClick="return confirm('真的要禁用吗?');"/></td></tr></ItemTemplate>
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "state1")
{
Button bt = (Button)e.Item.FindControl("Button1");
bt.Text = "处理完成";
}
}<ItemTemplate><table><tr><td><%#Eval("Name")%></td><td><%#Eval("Age")%></td><td> <asp:Button ID="Button1" runat="server" Text="处理中" OnClientClick="confirm('确定更改?');" CommandName="state1" /></td></tr></table>
{
((Button) sender).Text = "处理中" ? "处理完成" : "处理中";
}
所以你的数据重新又绑定了一次!
如果要实现最好是用AJAX!