Модальный расширитель всплывающих окон в datalist

У меня есть код ниже внутри элемента управления datalist

  <a  id="lnkCart" runat="server" onclick="lnkCart_Click" title='<%#DataBinder.Eval(Container.DataItem,"BookId")%>'>
         <img src="images/cart.gif" id='<%#DataBinder.Eval(Container.DataItem,"BookId")%>'
               alt="" title="" border="0" class="left_bt" />

       </a>

Теперь я хочу, чтобы при щелчке по указанной выше ссылке я отображал модальное всплывающее окно, но это модальное всплывающее окно должно загружать информацию из базы данных на основе идентификатора книги, который я могу получить из заголовка ссылки «а». Итак, мне нужно получить BookId на стороне сервера и загрузить контент на панели, который необходимо обновить. Может ли быть проще использовать модальный расширитель всплывающих окон?

Как мне это сделать.


person Chris    schedule 15.06.2011    source источник


Ответы (1)


Да, вам нужно будет разместить панель и заполнить эту панель из свойства "ItemDataBound" списка данных, выбрав bookid. См. Ниже код

 protected void dlalbumlist_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
        {


            if (e.Item.ItemType == ListItemType.Item ||
                     e.Item.ItemType == ListItemType.AlternatingItem)
            {
// Code to fill panel from bookid using findcontrol get hyperlink 
            }

        }

    <ajaxToolkit:ModalPopupExtender ID="mdl" runat="server" PopupControlID="pnl" TargetControlID="lnkCart" CancelControlID="btn" BackgroundCssClass="modalBackground" ></ajaxToolkit:ModalPopupExtender>    
    <asp:Panel ID="pnl" runat="server" style="display:none;" Width="300px" Height="300px"   BackColor="red">
    <asp:Button ID="btn" runat="server" Text="cancel" /> 
person Saurabh    schedule 15.06.2011
comment
Спасибо! есть ли способ загрузить содержимое панели, когда я нажимаю на ссылку? Потому что, если я загружу все в событие ItemDataBound, загрузка займет очень много времени. - person Chris; 15.06.2011
comment
Заполните панель с помощью ajaxmethod или pagemethod и вызовите из функции javascript. функция будет вызываться из тега привязки. - person Saurabh; 15.06.2011