Нажатие кнопки WebUserControl - PullRequest
       14

Нажатие кнопки WebUserControl

0 голосов
/ 07 февраля 2012

У меня есть webusercontrol (MiniUrunControl.ascx), и в этот webusercontrol я добавляю кнопку и функция нажатия кнопки imgButtonMini_Click.

protected void imgButtonMini_Click(object sender, ImageClickEventArgs e)
{
    DataTable _tablo = (DataTable)Session["KULLANICISEPETI"];
    foreach (DataRow _row in _tablo.Rows)
    {
        if (_row["urunid"].ToString() == lbUrunID.Text)
        {
            _tablo.Rows.Remove(_row);
            Session["KULLANICISEPETI"] = _tablo;
            break;
        }
    }

    this.Page.GetType().InvokeMember("ShowSepetBilgisi",
        System.Reflection.BindingFlags.InvokeMethod, null, this.Page, new object[] { });

}

Теперь я добавляю элемент управления панели в Default.aspx и Default.aspx CodeBehind, как это;

protected void Page_Load(object sender, EventArgs e)
{
  if(ispostback==false) ShowSepetBilgisi();
}

public void ShowSepetBilgisi()
{ 
    DataTable _tablo = (DataTable)Session["KULLANICISEPETI"];

    if (_tablo == null) return;

    pnlMiniUrunler.Controls.Clear();

    foreach (DataRow _row in _tablo.Rows)
    {
        MiniUrunControl _mini = (MiniUrunControl)LoadControl("MiniUrunControl.ascx");
        _mini.SetInfo(_row["urunid"].ToString(), _row["adet"].ToString());
        pnlMiniUrunler.Controls.Add(_mini);
    }
}

ОК Когда запускаю веб-сайт, я вижу все свои продукты (10webusercontrols в панели), которые добавляются в панель управления.Но когда я нажимаю кнопку imgButtonMini, все элементы управления исчезают, и панель становится пустой.Также не работает моя функция «Нажатие кнопки».

Можете ли вы мне помочь, в чем проблема и как запустить функцию кнопки?Спасибо

Ответы [ 2 ]

1 голос
/ 29 июля 2012

итерируйте каждый элемент управления в основном элементе управления, например, у вас есть элемент управления product.ascx, а в вашем product_page.aspx есть div, имеющий id="pcdiv" и runat="server".теперь в C # повторяем так:

foreach(control item in (product)div.controls.oftype(product)){
  if(item.value == 'true') {
    Response.write("Got it"); break;//incase only 1 object to iterate
  }
}

пожалуйста, проверьте приведение управления, так как я не тестировал этот код, но я использовал это 1 в каком-то проекте.

0 голосов
/ 07 февраля 2012

Читая ваш код, вы только один раз добавляете дочерние элементы управления на страницу.Их необходимо добавлять каждый раз, когда вы отправляете сообщение, если вы хотите использовать этот подход, иначе элементы управления исчезнут.

...