【问题标题】:Modal popup extender in datalist数据列表中的模态弹出扩展器
【发布时间】:2011-06-15 10:45:28
【问题描述】:

我在 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>

现在我希望在单击上述链接时显示模式弹出窗口,但此模式弹出窗口应根据我可以从“a”链接的标题中获得的图书 ID 从数据库加载信息.因此,我需要在服务器端获取 BookId,并且必须在面板中加载需要更新的内容。使用模态弹窗扩展器可以轻松吗?

我该怎么做。

【问题讨论】:

    标签: asp.net modalpopupextender datalist


    【解决方案1】:

    是的,您必须通过获取 bookid 来放置面板并从 datalist 的“ItemDataBound”属性填充此面板。见下面代码

     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" /> 
    

    【讨论】:

    • 谢谢!当我点击链接时,有什么方法可以加载面板内容?因为如果我在 ItemDataBound Event 上加载所有内容,那么加载将需要很长时间。
    • 使用 ajaxmethod 或 pagemethod 填充面板并从 javascript 函数调用。函数将从锚标签调用。
    猜你喜欢
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 2010-10-07
    相关资源
    最近更新 更多