ASP.NET AJAX模式弹出扩展器 - 在Listview之外调用方法c#

时间:2013-11-06 11:35:15

标签: c# asp.net ajax

这个问题的后续问题对我有很大的帮助。 ASP.NET AJAX Toolkit ModalPopupExtender inside ListView behavior

我的网站是一个商店,产品在一个类中设置,根据它们所属的类别进行调用。用户可以单击产品以获取在新页面中打开的信息。

我想使用模式弹出扩展程序将此页面显示为弹出窗口,而不是导航到新页面。 感谢上面的链接,我几乎可以实现这一点,我的问题是我不能将方法“GetProducts”调用到listview所在的listview中。

这是aspx页面

    <div id="Panel1" style="display: none;" class="popupConfirmation">
               <iframe id="frameeditexpanse" src="ProductDetails.aspx?productID=<%#:Item.ProductID%>" height="161" > // here is the error item does not exist in the context
               </iframe>
               <div class="popup_Buttons" style="display: none">
                  <input id="btnClose" value="Close" type="button" />
               </div>                                               
           </div>      

    <asp:ListView ID="productList" runat="server" DataKeyNames="ProductID"
    GroupItemCount="3" ItemType="Website.Models.Product" SelectMethod="GetProducts"> // method is called here

     <ajaxToolkit:ModalPopupExtender runat="server" ID="ModalPopupExtender1"
          CancelControlID="btnClose" TargetControlID="PopUpPage"
          PopupControlID="Panel1"  Drag="true" BackgroundCssClass="ModalPopupBG" 
          PopupDragHandleControlID="PopupHeader" >
     </ajaxToolkit:ModalPopupExtender>   

<asp:ImageButton ID="PopUpPage" runat="server" 
   src="<%#:Item.ImagePath%>" width="100" height="75" /> // button the user clicks to open the pop up of the product description page

和背后的代码如果有帮助

  public partial class ProductList : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }


        public IQueryable<Product> GetProducts([QueryString("id")] int? categoryId)
        {
            var _db = new Website.Models.ProductContext();
            IQueryable<Product> query = _db.Products;

            if (categoryId.HasValue && categoryId > 0)
            {

                query = query.Where(p => p.CategoryID == categoryId);
            }
            return query;
        }

    }

我已经尝试在ifview中包装iframe,所以我可以再次调用该方法,但这告诉我我只能调用一次,我也试过在页面加载部分调用方法没有快乐,还有许多其他的事情,造成更多错误。

任何帮助将不胜感激。

0 个答案:

没有答案