0

ツール ヒントが追加された asp.net ドロップダウン コントロールがあります。マウスオーバーで正常に動作します。そのページにはモーダルポップアップもあります。モーダル ポップアップを開いたり閉じたりすると、ドロップのツール ヒントが表示されなくなります。

以下は私のコードです。

       <div class="col">
            <div class="labelname required">
                <asp:Label ID="lblsupplier" runat="server" Text="Supplier"></asp:Label>
            </div>
            <div class="labelvalue">
                <asp:DropDownList ID="DdlSupplier" TabIndex="11" runat="server" AutoPostBack="true"
                    CausesValidation="false" OnSelectedIndexChanged="DdlSupplier_SelectedIndexChanged">
                </asp:DropDownList>
                <asp:RequiredFieldValidator ID="reqSupplier" runat="server" ControlToValidate="DdlSupplier"
                    ValidationGroup="SubmitGroupMain" InitialValue="0" ErrorMessage="Please Select Supplier Name"
                    SetFocusOnError="true" Display="None"></asp:RequiredFieldValidator>
                <ajaxToolkit:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="Server"
                    TargetControlID="reqSupplier" HighlightCssClass="validatorCalloutHighlight">
                </ajaxToolkit:ValidatorCalloutExtender>
            </div>
            <asp:LinkButton runat="server" ID="lnkAddSupplier" CssClass="btnadd" ToolTip="New Supplier"
                OnClick="lnkAddSupplier_Click"></asp:LinkButton>
            <asp:Button runat="server" ID="popupshowAccount" Style="display: none" />
        </div>
    </div>

コードビハインド

foreach (ListItem item in DdlSupplier.Items)
            {
                item.Attributes.Add("title", item.Text);
            }
            DdlSupplier.Attributes.Add("onmouseover","this.title=this.options[this.selectedIndex].title");

lnkAddSupplier をクリックすると、ポップアップが開きます。ポップアップ ツール ヒントを閉じると、ドロップダウンに表示されなくなります。

この問題の解決にご協力ください。

4

1 に答える 1

0

属性は Viewstate に保存されないため、ポストバック間で属性が消えます。カスタム属性の場合も同様です。

そのため、DropDownList Pre Render イベントを使用して属性を設定する必要があります

protected void DropDownList1_PreRender(object sender, EventArgs e)
{
    foreach (ListItem item in DropDownList1.Items)
        item.Attributes.Add("title", "Something to test!!!!!!");
}
于 2012-07-17T08:49:52.850 に答える