सूचीदृश्य में सेट HTML इनपुट चेकबॉक्स नाम

वोट
0

मैं मान के साथ सूचीदृश्य में एक चेकबॉक्स जोड़ने के लिए के रूप में डेटाबेस से अभिलेखों की आईडी तो मैं उपयोगकर्ता लोगों वे हटाना चाहते हैं जांच करने की अनुमति कर सकते हैं कोशिश कर रहा हूँ और जब वे हटाएं बटन पर क्लिक मैं अनुरोध के साथ चेकबॉक्स का मूल्य संग्रह प्राप्त कर सकते हैं ।प्रपत्र।

मेरी समस्या है, क्योंकि सूचीदृश्य ASP.NET में चेकबॉक्स चेकबॉक्स के नाम संपत्ति में सूचीदृश्य नाम renders, यह मेरे से बचाता है Request.Form करने के लिए [ checkboxname] है।

मैं listviews का उपयोग करने के आदेशों को नष्ट लेकिन बस Request.Form का उपयोग जाँच मूल्यों का संग्रह प्राप्त करने के लिए नहीं करना चाहती।

मैं कैसे htmlinput चेकबॉक्स का नाम निर्धारित कर सकते हैं नेट परिवर्तन नहीं करता है उस में समय प्रस्तुत करना?

मैं प्रयास कर चुका हूं:

        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;

लेकिन फिर भी ऐसा लगता है कि प्रस्तुत करता है:

<input name=PmList$ctrl0$CheckBoxDelete type=checkbox id=PmList_ctrl0_CheckBoxDelete value=3 />
09/08/2009 को 15:09
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
0

मैं इसे हल किया है के साथ:

    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(','));

यह एक आदर्श समाधान नहीं है बल्कि यह मेरे लिए काम करता है।

09/08/2009 को 16:14
का स्रोत उपयोगकर्ता

वोट
1

इसका कारण यह है ListView एक नामकरण कंटेनर है हो रहा है। आप कई तरीकों से में इस के आसपास मिल सकता है, लेकिन वे सभी की पसंद करने के लिए नीचे उबाल:

  • एचटीएमएल आप चाहते हैं प्रतिपादन।
  • एक अलग तरह से चेक किए गए आइटम खींच।

पूर्व संभव है, लेकिन आप की संभावना ASP.NET की कार्यक्षमता में बनाया का एक बहुत ढीला होगा। मैं इसके खिलाफ सलाह देने के लिए जब तक आप नियंत्रण के जीवन चक्र के साथ गहराई से परिचित हैं चाहते हैं।

आप सब कुछ आप एक तरह से एएसपी उम्मीद कर रही है में मूल्यों बाहर खींचने के लिए की जरूरत मिल गया है:

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

तुम बस के लिए नियंत्रण पदानुक्रम ListView.Items चेक बॉक्स की तलाश से अधिक आबादी वाले किया जाना है, और फिर पाश प्रतीक्षा करनी होगी। आपका "हटाएं" बटन के ईवेंट हैंडलर शायद से कॉल करने के लिए एक अच्छी जगह है।

संयोग से, तुम क्यों एक HtmlInputCheckbox उपयोग कर रहे हैं, बल्कि एक चेकबॉक्स से?

09/08/2009 को 18:15
का स्रोत उपयोगकर्ता

वोट
0

मैं यह करता हूँ

    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);
    }

थोड़ा मेरी राय में आसान

04/02/2010 को 20:35
का स्रोत उपयोगकर्ता

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