У меня есть страница с именем productList.aspx, которая содержит статический веб-метод, вызываемый jquery.
страница содержит пользовательский элемент управления productlist.ascx, который реализует IProductListView. productlist.ascx снова содержит пользовательский элемент управления addtobasket.ascx (реализует IAddToBasketView), который содержит кнопку для добавления в корзину и связан с AddToBasketPresenter. теперь вызов метода фактически выполняется со страницы productlist.aspx в addToBasket.ascx usercontrol.
Одна проблема заключается в том, что всегда жалуются на то, что addtobasketpresenter не создается, поскольку это вызов jquery (json). архитектура MVP является правильным? если нет, то как это должно быть?
public partial class Product_ProductList : Page
{
[webmethod]
protected Basketsummaryview AddToCart()
{
UC_Product_ProductList uc=new UC_Product_ProductList();
uc.AddToBasket(ProductId);
}
}
public partial class UC_Product_ProductList : UserControl,IProductlistview
{
private ProductListPresenter _presenter;
protected Basketsummaryview AddToCart(int productid)
{
uc_addtocart uc=new UC_addtocart();
uc.Addtocart()
}
public partial class UC_addtocart : UserControl,IAddtocartview
{
private AddTocartPresenter _presenter;
Pageinit(object sender,e
protected Basketsummaryview AddToCart(int productid)
{
_presenter.Addtocart()
}
protected override void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
Init += PageInit;
Load += PageLoad;
}
protected void PageInit(object sender, EventArgs e)
{
_presenter = new ProductListPresenter(this);
}
protected void PageLoad(object sender, EventArgs e)
{
if (!IsPostBack)
{
_presenter.Display();
}
}
}