liste görünümü Set HTML girdi onay kutusu adı

oy
0

Ben veritabanından kayıtları kimlikleri yüzden kullanıcı, silmek istediğiniz olanları kontrol etmek izin verebilir olarak değere sahip bir liste görünümü bir onay kutusu eklemek çalışıyorum ve onlar sil düğmesini tıkladığında ben isteği ile onay kutusunun değeri koleksiyon alabilirsiniz .form.

Bir liste görünümü ASP.NET onay kutusu onay kutusunun adı mülk haline listview adını vermektedir, çünkü Benim sorunum, bu [ checkboxname] Request.Form yapmamı engelleyen vardır.

Ben listviews kullanmak komutları silmek ama sadece kontrol değerlerin toplanmasını almak için Request.Form kullanmak istemiyoruz.

Nasıl HtmlInput onay kutusunun adını ayarlamak böylece .NET o zaman işlemek değişmez?

Denedim:

        ListViewDataItem dataItem = (ListViewDataItem)e.Item;
        HtmlInputCheckBox _CheckBoxDelete = (HtmlInputCheckBox)e.Item.FindControl(CheckBoxDelete);

            _CheckBoxDelete.Visible = true;
            _CheckBoxDelete.Value = DataBinder.Eval(dataItem.DataItem, id).ToString();
            _CheckBoxDelete.Name = deletechecked;

Ama yine de böyle işler:

<input name=PmList$ctrl0$CheckBoxDelete type=checkbox id=PmList_ctrl0_CheckBoxDelete value=3 />
Oluştur 09/08/2009 saat 15:09
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
0

Ben bunu sıralamış:

    string idCollectionTodelete = string.Empty;

    foreach (string x in Request.Form)
    {
        if (x.IndexOf("CheckBoxDelete") > -1)
        {
             idCollectionTodelete += Request.Form[x] + ",";
        }

    }
    new DB().DeleteUserPm(
      ActiveUsername(), subdomain, idCollectionTodelete.TrimEnd(','));

Bu ideal bir çözüm değil ama benim için çalışır.

Cevap 09/08/2009 saat 16:14
kaynak kullanıcı

oy
1

ListView bir adlandırma Konteyner olduğu için bu oluyor. Sen birkaç yönden bu sorunun üstesinden gelebilirsiniz, ama hepsi seçimine özetlenebilir:

  • İstediğiniz HTML Rendering.
  • Farklı bir şekilde kontrol öğeleri Çekme.

Eski yapılabilir, ama büyük olasılıkla ASP.NET işlevselliği yerleşik bir sürü gevşek edeceğiz. Eğer kontrol yaşam döngüsü ile derinden tanıdık olmadıkça ben buna karşı tavsiye ederiz.

Sen ASP bekleniyor bir şekilde değerleri dışarıda çekmek için gereken her şeyi var:

HtmlInputCheckBox _CheckBoxDelete = (HtmlInputCheckBox)item.FindControl("CheckBoxDelete");

Sadece kontrol hiyerarşisi onay kutuları arayan ListView.Items üzerinde daha sonra döngü doldurulur ve gereken beklemek gerekir. Sizin "Sil" düğmesinin olay işleyicisi muhtemelen bu aramak için iyi bir yerdir.

Bu arada, neden yerine bir CheckBox yerine bir HtmlInputCheckbox kullanıyorsunuz?

Cevap 09/08/2009 saat 18:15
kaynak kullanıcı

oy
0

Bunu yapmak

    List<HtmlInputCheckBox> chkDeleteContacts = new List<HtmlInputCheckBox>();

    foreach (RepeaterItem item in rptrFamilyContacts.Items)
    {
        chkDeleteContacts.Add((HtmlInputCheckBox)item.FindControl("chkDeleteContact"));
    }

    foreach(HtmlInputCheckBox chkDeleteContact in chkDeleteContacts)
    {
        //Delete Contact
        if(chkDeleteContact.Checked)
            blnStatus = BusinessUtility.DeleteConsumerContact(LoginConsumerID, chkDeleteContact.Value);
    }

Bence biraz daha kolay

Cevap 04/02/2010 saat 20:35
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more