Как я сделал это:
- Поместите ModalPopupExtender снаружи (после) контроля ретранслятора.
- Добавить кнопку, которая будет действовать как «поддельная» цель для ModalPopupExtender, поместить ее снаружи (после) ретранслятора. Используйте «Style =» display: none «', чтобы скрыть кнопку от пользователя. Событие OnClick не должно быть привязано к этой кнопке.
- Установите целевую панель ModalPopupExtender вне ретранслятора.
- В шаблоне элемента ретранслятора добавить LinkButton с OnClick, используя LinkButton позволяет использовать CommandArgument, который может быть привязан к DataBinder - скажем, за рекордную ID
- В коде создать подпрограмму, которая обрабатывает onclick для кнопки link в ретрансляторе. При необходимости сделайте directCast объекта-отправителя на ссылку, чтобы у вас был доступ к commandArgument.
- занесения целевой ModalPopupExtender панель надлежащим образом
- Делают ModalPopupExtender.show()
HTML
<ul id="Repeater">
<asp:Repeater ID="rptMain" runat="server">
<HeaderTemplate>
<span class="RepeaterHeader">
<li>
Edit
</li>
</span>
<div class="clear"></div>
</HeaderTemplate>
<ItemTemplate>
<li class="RptLeadItemEdit">
<asp:LinkButton ID="btEdit" runat="server" Text="Edit"
CommandArgument='<%#DataBinder.Eval(Container.DataItem, "ID")%>'
OnClick="OpenMPEEdit" />
</li>
<div class="clear"></div>
</ItemTemplate>
</asp:Repeater>
</ul>
<asp:Button ID="MpeFakeTarget" runat="server"
CausesValidation="False" Style="display:none" />
<asp:ModalPopupExtender ID="mpeEdit" runat="server"
TargetControlId="MpeFakeTarget"
PopupControlID="pnlEdit"
OkControlID="btCloseMPE"
BackgroundCssClass="ModalPopupBG" />
<asp:Panel CssClass="ModalPanel" runat="server" ID="pnlEdit">
EDIT LEAD
<asp:Label runat="server" ID="MPETEST"></asp:Label>
<asp:Button runat="server" ID="btCloseMPE" text="Close" />
</asp:Panel>
Код За
Protected Sub OpenMPEEdit(ByVal sender As Object, ByVal e As System.EventArgs)
Dim wLink As New LinkButton
wLink = DirectCast(sender, LinkButton)
MPETEST.Text = "ID = " & wLink.CommandArgument
mpeEdit.Show()
End Sub
Пробовал это и литиево Щелчок nkbutton ничего не делает, он не вводит код sub. Есть идеи? – SteveCav 2012-04-21 11:52:18