读书人

判断repeater内的CheckBoxList是不是被

发布时间: 2013-07-11 15:38:46 作者: rapoo

判断repeater内的CheckBoxList是否被选中
repeater
循环一个选项卡div
每个div内都有个CheckBoxList


<asp:Repeater ID="rptrLanguageDivs" runat="server" OnItemDataBound="rptrLanguageDivs_ItemDataBound">
<ItemTemplate>
<div id="idTab_Info<%# Container.ItemIndex+2 %>" class="tab">
<i>
<%=GetLocaleResourceString("Admin.Localizable.EmptyFieldNote")%></i>
<asp:Label ID="lblLanguageId" runat="server" Text='<%#Eval("LanguageId") %>' Visible="false"></asp:Label>
<table class="adminContent">
<tr>
<td class="adminTitle">
<nopCommerce:ToolTipLabel runat="server" ID="lblLocalizedAttributeName" Text="<% $NopResources:Admin.ProductVariantAttributeValues.New.Name %>"
ToolTip="<% $NopResources:Admin.ProductVariantAttributeValues.New.Name.Tooltip %>"
ToolTipImage="~/Administration/Common/ico-help.gif" />
</td>
<td class="adminData">
<%-- <asp:TextBox runat="server" CssClass="adminInput" ID="txtNewLocalizedName" />--%>


<asp:CheckBoxList ID="cbl_ProductAttributeValueList" runat="server" RepeatDirection="horizontal" >
</asp:CheckBoxList>
</td>
</tr>
</table>
</div>
</ItemTemplate>
</asp:Repeater>

绑定

protected void rptrLanguageDivs_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
ProductVariantAttribute pva = ProductAttributeService.GetProductVariantAttributeById(this.ProductVariantAttributeId);
int ProductAttributeId = 0;
if (pva != null)
{
ProductAttributeId=pva.ProductAttributeId;
}
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
Language lg = (Language)e.Item.DataItem;
int LanguageID = lg.LanguageId;
CheckBoxList ckb = (CheckBoxList)e.Item.FindControl("cbl_ProductAttributeValueList");
ckb.DataSource = ProductAttributeService.GetProductAttributeValues(LanguageID, ProductAttributeId, null);


ckb.DataTextField = "Name";
ckb.DataValueField = "ProductAttributeValueID";
ckb.DataBind();
}
}



在外部有个按钮
点击如何判断 必须有一个CheckBoxList内被打勾,并且只能存在一个CheckBoxList被打勾
并取值
[解决办法]
很简单,你判读下,到底是那个Tab是正在使用状态,不就完事了。

判读Tab的使用状态,不难吧!

记得全部给分我。
[解决办法]
在前台用js来操作嘛。
[解决办法]
遍历每一行,然后findcontrol~~~

[解决办法]
foreach (RepeaterItem item in rep_user.Items)
{
CheckBox cb = (CheckBox)item.FindControl("cb_id");
if (cb.Checked)
}

[解决办法]
protected void Button1_Click(object sender, EventArgs e)
{
bool mark = false;
for (int i = 0; i < rptrLanguageDivs.Items.Count; i++)
{
CheckBoxList ckb = (CheckBoxList)rptrLanguageDivs.Items[i].FindControl("cbl_ProductAttributeValueList");
if (-1 != ckb.SelectedIndex)
{


mark = true;
}
}
if (mark)
{
Response.Write("有选中");
}
else
{
Response.Write("无选中");
}
}
[解决办法]


title="属性值的名称,例如'蓝'的颜色属性" src="Common/ico-help.gif" alt="判断repeater内的CheckBoxList是不是被选中" style="border-width: 0px;">
<span id="ctl00_cph1_ctrlProductVariantAttributeValues_rptrLanguageDivs_ctl00_lblLocalizedAttributeName_lblValue"
title="属性值的名称,例如'蓝'的颜色属性">名称</span> </span>
</td>
<td


class="chkselect" onclick="CheckList(this)"><label for="ctl00_cph1_ctrlProductVariantAttributeValues_rptrLanguageDivs_ctl00_cbl_ProductAttributeValueList_0">赤</label>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>


加了一个class= "chkselect" 加了一个onclick = "CheckList(this)"

[解决办法]

引用:
Quote: 引用:



加了一个class= "chkselect" 加了一个onclick = "CheckList(this)"

不能加在生成的HTML里面啊,我要加在生成前的

他说的是浏览器自动生成的这两句代码吧~~~
[解决办法]
引用:
Quote: 引用:



加了一个class= "chkselect" 加了一个onclick = "CheckList(this)"

不能加在生成的HTML里面啊,我要加在生成前的


你生成前加这两个不就OK了????

读书人网 >asp.net

热点推荐