内层中的Repeater中的按钮有时需要点击两次才执行,第一次点击的时候,页面也刷新,产生了回传。但是就是不执行
前台代码:
<asp:Repeater ID="rptBookType" runat="server" OnItemDataBound="rptBookType_ItemDataBound">
<ItemTemplate>
<tr class="tdBg1" style="background-color: #C9DFE4">
<td align="left" valign="middle">
<asp:Label ID="lblID" runat="server" Style="display: none;"></asp:Label>
<asp:Label ID="lblTypeName" runat="server" Style="display: "></asp:Label>
<asp:TextBox ID="txtTypeName" runat="server" Style="display: none"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:Label ID="lblOrder" runat="server" Style="display: "></asp:Label>
<asp:TextBox ID="txtOrder" runat="server" Style="display: none"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:CheckBox ID="chkFlag" runat="server" Enabled="false" />
</td>
<td align="center" valign="middle">
<asp:LinkButton ID="lbtnAddSun" runat="server" OnClick="lbtnAddSun_Click" Style="display: ">添加子类</asp:LinkButton>
<asp:LinkButton ID="lbtnEdit" runat="server" OnClick="lbtnEdit_Click">修改</asp:LinkButton>
<asp:LinkButton ID="lbtnDel" runat="server" OnClick="lbtbDel_Click" Style="display: ">删除</asp:LinkButton>
<asp:LinkButton ID="lbtnReset1" OnClick="lbtnReset_Click" runat="server" Style="display: none">取消</asp:LinkButton>
</td>
</tr>
<tr id="addSon" runat="server" class="tdBg1" style="display: none;">
<td align="left" valign="middle">
<asp:Label ID="lblPID" runat="server" Style="display: none;"></asp:Label>
<asp:Label ID="lblFName" runat="server"></asp:Label>
<asp:TextBox ID="txtAddBookName" runat="server"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:TextBox ID="txtBookOrder" runat="server"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:CheckBox ID="chkBookETFlag" runat="server" />
</td>
<td align="center" valign="middle">
<asp:LinkButton ID="lnkBookAdd" OnClick="lnkBookAdd_Click" runat="server">添加</asp:LinkButton>
<asp:LinkButton ID="lnkBookCancel" OnClick="lbtnReset_Click" runat="server">取消</asp:LinkButton>
</td>
</tr>
<asp:Repeater ID="rptBookTypeSon" runat="server" OnItemDataBound="rptBookTypeSon_ItemDataBound">
<ItemTemplate>
<tr class="tdBg1">
<td align="left" valign="middle">
<asp:Label ID="lblTypeName0" runat="server" Style="display: "></asp:Label>
<asp:TextBox ID="txtTypeName0" runat="server" Style="display: none"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:Label ID="lblOrder0" runat="server" Style="display: "></asp:Label>
<asp:TextBox ID="txtOrder0" runat="server" Style="display: none"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:CheckBox ID="chkFlag0" runat="server" Enabled="false" />
</td>
<td align="center" valign="middle">
<asp:LinkButton ID="lbtnEdit0" runat="server" OnClick="lbtnEdit0_Click">修改</asp:LinkButton>
<asp:LinkButton ID="lbtnDel0" runat="server" OnClick="lbtbDel0_Click" Style="display: ">删除</asp:LinkButton>
<asp:LinkButton ID="lbtnReset0" OnClick="lbtnReset_Click" runat="server" Style="display: none">取消</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
[/code]
前台代码:
<asp:Repeater ID="rptBookType" runat="server" OnItemDataBound="rptBookType_ItemDataBound">
<ItemTemplate>
<tr class="tdBg1" style="background-color: #C9DFE4">
<td align="left" valign="middle">
<asp:Label ID="lblID" runat="server" Style="display: none;"></asp:Label>
<asp:Label ID="lblTypeName" runat="server" Style="display: "></asp:Label>
<asp:TextBox ID="txtTypeName" runat="server" Style="display: none"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:Label ID="lblOrder" runat="server" Style="display: "></asp:Label>
<asp:TextBox ID="txtOrder" runat="server" Style="display: none"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:CheckBox ID="chkFlag" runat="server" Enabled="false" />
</td>
<td align="center" valign="middle">
<asp:LinkButton ID="lbtnAddSun" runat="server" OnClick="lbtnAddSun_Click" Style="display: ">添加子类</asp:LinkButton>
<asp:LinkButton ID="lbtnEdit" runat="server" OnClick="lbtnEdit_Click">修改</asp:LinkButton>
<asp:LinkButton ID="lbtnDel" runat="server" OnClick="lbtbDel_Click" Style="display: ">删除</asp:LinkButton>
<asp:LinkButton ID="lbtnReset1" OnClick="lbtnReset_Click" runat="server" Style="display: none">取消</asp:LinkButton>
</td>
</tr>
<tr id="addSon" runat="server" class="tdBg1" style="display: none;">
<td align="left" valign="middle">
<asp:Label ID="lblPID" runat="server" Style="display: none;"></asp:Label>
<asp:Label ID="lblFName" runat="server"></asp:Label>
<asp:TextBox ID="txtAddBookName" runat="server"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:TextBox ID="txtBookOrder" runat="server"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:CheckBox ID="chkBookETFlag" runat="server" />
</td>
<td align="center" valign="middle">
<asp:LinkButton ID="lnkBookAdd" OnClick="lnkBookAdd_Click" runat="server">添加</asp:LinkButton>
<asp:LinkButton ID="lnkBookCancel" OnClick="lbtnReset_Click" runat="server">取消</asp:LinkButton>
</td>
</tr>
<asp:Repeater ID="rptBookTypeSon" runat="server" OnItemDataBound="rptBookTypeSon_ItemDataBound">
<ItemTemplate>
<tr class="tdBg1">
<td align="left" valign="middle">
<asp:Label ID="lblTypeName0" runat="server" Style="display: "></asp:Label>
<asp:TextBox ID="txtTypeName0" runat="server" Style="display: none"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:Label ID="lblOrder0" runat="server" Style="display: "></asp:Label>
<asp:TextBox ID="txtOrder0" runat="server" Style="display: none"></asp:TextBox>
</td>
<td align="center" valign="middle">
<asp:CheckBox ID="chkFlag0" runat="server" Enabled="false" />
</td>
<td align="center" valign="middle">
<asp:LinkButton ID="lbtnEdit0" runat="server" OnClick="lbtnEdit0_Click">修改</asp:LinkButton>
<asp:LinkButton ID="lbtnDel0" runat="server" OnClick="lbtbDel0_Click" Style="display: ">删除</asp:LinkButton>
<asp:LinkButton ID="lbtnReset0" OnClick="lbtnReset_Click" runat="server" Style="display: none">取消</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
[/code]
protected void traversal()
{
for (int i = 0; i < rptBookType.Items.Count; i++)
{
TextBox txtTypeName = (TextBox)rptBookType.Items[i].FindControl("txtTypeName");
Label lblTypeName = (Label)rptBookType.Items[i].FindControl("lblTypeName");
TextBox txtOrder = (TextBox)rptBookType.Items[i].FindControl("txtOrder");
Label lblOrder = (Label)rptBookType.Items[i].FindControl("lblOrder");
CheckBox chkFlag = (CheckBox)rptBookType.Items[i].FindControl("chkFlag");
LinkButton lbtnEdit = (LinkButton)rptBookType.Items[i].FindControl("lbtnEdit");
LinkButton lbtnAddSun = (LinkButton)rptBookType.Items[i].FindControl("lbtnAddSun");
LinkButton lbtnDel = (LinkButton)rptBookType.Items[i].FindControl("lbtnDel");
LinkButton lbtnReset1 = (LinkButton)rptBookType.Items[i].FindControl("lbtnReset1");
txtTypeName.Style.Add("display", "none");
lblTypeName.Style.Add("display", "");
txtOrder.Style.Add("display", "none");
lblOrder.Style.Add("display", "");
lbtnDel.Style.Add("display", "");
lbtnReset.Style.Add("display", "none");
lbtnAddSun.Style.Add("display", "");
Repeater rptBookTypeSon = (Repeater)rptBookType.Items[i].FindControl("rptBookTypeSon");
if (rptBookTypeSon != null)
{
for (int j = 0; j < rptBookTypeSon.Items.Count; j++)
{
TextBox txtTypeName0 = (TextBox)rptBookTypeSon.Items[j].FindControl("txtTypeName0");
Label lblTypeName0 = (Label)rptBookTypeSon.Items[j].FindControl("lblTypeName0");
TextBox txtOrder0 = (TextBox)rptBookTypeSon.Items[j].FindControl("txtOrder0");
Label lblOrder0 = (Label)rptBookTypeSon.Items[j].FindControl("lblOrder0");
CheckBox chkFlag0 = (CheckBox)rptBookTypeSon.Items[j].FindControl("chkFlag0");
LinkButton lbtnEdit0 = (LinkButton)rptBookTypeSon.Items[j].FindControl("lbtnEdit0");
LinkButton lbtnDel0 = (LinkButton)rptBookTypeSon.Items[j].FindControl("lbtnDel0");
LinkButton lbtnReset0 = (LinkButton)rptBookTypeSon.Items[j].FindControl("lbtnReset0");
txtTypeName0.Style.Add("display", "none");
lblTypeName0.Style.Add("display", "");
txtOrder0.Style.Add("display", "none");
lblOrder0.Style.Add("display", "");
lbtnEdit0.Style.Add("display", "");
lbtnDel0.Style.Add("display", "");
lbtnReset0.Style.Add("display", "none");
}
}
}
}protected void lbtnEdit0_Click(object sender, EventArgs e)
{
traversal();
string[] id = ((LinkButton)sender).CommandArgument.Split(',');
if (LTP.Common.CheckInput.CheckDigit(id[0].ToString()) && LTP.Common.CheckInput.CheckDigit(id[1].ToString()))
{
for (int i = 0; i < rptBookType.Items.Count; i++)
{
if (((Label)rptBookType.Items[i].FindControl("lblID")).Text.Trim() == id[1].ToString())
{
Repeater rptBookTypeSon = (Repeater)rptBookType.Items[i].FindControl("rptBookTypeSon");
StringBuilder error = new StringBuilder();
int Index = ((RepeaterItem)(((LinkButton)sender)).NamingContainer).ItemIndex;
TextBox txtTypeName = (TextBox)rptBookTypeSon.Items[Index].FindControl("txtTypeName0");
Label lblTypeName = (Label)rptBookTypeSon.Items[Index].FindControl("lblTypeName0");
TextBox txtOrder = (TextBox)rptBookTypeSon.Items[Index].FindControl("txtOrder0");
Label lblOrder = (Label)rptBookTypeSon.Items[Index].FindControl("lblOrder0");
CheckBox chkFlag = (CheckBox)rptBookTypeSon.Items[Index].FindControl("chkFlag0");
LinkButton lbtnEdit = (LinkButton)rptBookTypeSon.Items[Index].FindControl("lbtnEdit0");
LinkButton lbtnDel0 = (LinkButton)rptBookTypeSon.Items[Index].FindControl("lbtnDel0");
LinkButton lbtnReset0 = (LinkButton)rptBookTypeSon.Items[Index].FindControl("lbtnReset0");
if (lbtnEdit.Text == "修改")
{
lbtnEdit.Text = "保存";
txtTypeName.Style.Add("display", "");
lblTypeName.Style.Add("display", "none");
txtOrder.Style.Add("display", "");
lblOrder.Style.Add("display", "none");
chkFlag.Enabled = true;
lbtnDel0.Style.Add("display", "none");
lbtnReset0.Style.Add("display", "");
}
else
{
lbtnEdit.Text = "修改"; if (txtTypeName.Text.Trim() == "")
{
error.Append("请输入图书类别名称!\\n");
}
if (txtOrder.Text.Trim() == "")
{
error.Append("请输入排序号!\\n");
}
else if (!LTP.Common.CheckInput.CheckDigit(txtOrder.Text.Trim()))
{
error.Append("排序号必须是数字!\\n");
}
if (!String.IsNullOrEmpty(error.ToString()))
{
LTP.Common.MessageBox.Show(this, error.ToString());
return;
}
BookShop.Model.T_PRD_BookType model = new Model.T_PRD_BookType();
model.ID = Convert.ToInt32(id[0].ToString());
model.ManagerID = new Guid(Session["UserID"].ToString());
model.ETFlag = !chkFlag.Checked;
model.OrderNum = int.Parse(txtOrder.Text.Trim());
model.TypeName = txtTypeName.Text.Trim();
model.BuildDate = DateTime.Now;
string res = bll_type.TypeUpdate(model);
Response.Redirect("BookTypeManage.aspx?keyword=" + LTP.Common.StringClass.EncodeUrl(this.lblkeyword.Text.Trim())
+ "&keytype=" + LTP.Common.StringClass.EncodeUrl(this.lblType.Text.Trim()));
}
}
}
}
else
{
LTP.Common.WindowClass.WindowBack("错误操作!");
}
}
在itemCommand事件中,这样判断
if(e.CommandName=="select") //这个设定的commandname="select"
{
string Id=e.CommandArgument.ToString(); //获取参数
//你的代码
}