我有一个面板,其中包含一个 ListView 和一个 itemTemplate,其中每个元素包含一个下拉列表、两个文本框和一个删除按钮。
每个 Listview 元素的每个下拉列表都包含相同的数据,即来自数据源的值列表,但所选值在不同行中不同。某些值可以相同,这取决于约束。
对于我的下拉列表中的某些元素,此约束是我可以在两行上具有相同的值。
我在设计中将下拉列表与 OnSelectedIndexChanged 事件和 autoPostback 绑定为 True:
<asp:DropDownList ID="ddlLinkToDestinationParent" CssClass="ddl-link-to ddl-link-to-child" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlNewConsumptionLinkToDestinationParent_OnSelectedIndexChanged" data-headcount='<%# Eval("HeadCount") %>' />
我传递了我的事件(服务器端)。
var ddl = sender as DropDownList;
if (IsDestinationSelected(ddl))
{
// Display error message
// cancel the selection of my dropdownlist or select another value...
}
IsDestinationSelected 方法允许知道是否找到了具有此值和约束的下拉列表。如果为真,我想取消我在下拉列表中选择的项目
错误消息后我可以写什么?
我尝试了一些解决方案,但没有什么有趣的......(320 只是为了测试,但它是一个列表项):
ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue("320"));
这是我的清单项目:
<select name="ctl00$Main$lvSetConsumptionsSite$ctrl1$ddlLinkToDestinationParent" onchange="javascript:setTimeout('__doPostBack(\'ctl00$Main$lvSetConsumptionsSite$ctrl1$ddlLinkToDestinationParent\',\'\')', 0)" id="ctl00_Main_lvSetConsumptionsSite_ctrl1_ddlLinkToDestinationParent" class="ddl-link-to ddl-link-to-child" data-headcount="0">
<option value="">--- Type de consom° ---</option>
<option value="870">petit dejeuner 1 siege</option>
<option value="877">petit dejeuner 2 (siege)</option>
<option value="133">dejeuner 1 siege</option>
<option value="26">dejeuner 2 (siege)</option>
<option value="237">dejeuner 3 (siege)</option>
<option value="238">dejeuner 4 (siege)</option>
<option value="239">dejeuner 5 (siege)</option>
<option value="241">dejeuner 6 (siege)</option>
<option value="288">dejeuner 7 (siege)</option>
<option value="852">pique nique (gouter 1 siege)</option>
<option value="507">diner 1 (siege)</option>
<option value="883">test 20/09 (diner - siege)</option>
<option value="136">Goûter 2 (siege)</option>
<option value="134">Resident (pas dans CM)</option>
<option value="24">pertes (diner - siege)</option>
<option value="25">cessions (pas dans CM)</option>
<option value="201">Taxes et Frais divers (pas dans CM)</option>
<option value="227">Emballages (consignes et déconsignes)</option>
<option value="135">Diners de luxe (pas dans CM)</option>
<option selected="selected" value="320">ajustement de stock</option>
<option value="334">autre</option>
<option value="745">HAPPY</option>
<option value="876">consommation</option>
<option value="802">test AB Cons 3105 01</option>
<option value="869">panier repas (pas dans CM)</option>
<option value="915">1 dest. siege</option>
<option value="953">collation de 11h</option>
</select>
但是当我尝试更改我的值或我的项目时,我会再次调用我的事件,但是选择了值,也是无限循环......
你有想法吗 ?
感谢您的回答 !