2013-07-25 9 views
6

मेरे पास 2 फ़ील्ड ड्रॉप डाउनसूची और एक चेकबॉक्स वाला एक फॉर्म है। मैं सब कुछ सही ढंग से काम किया है, लेकिन मैं किसी कारण के लिए एक चेकबॉक्स का मूल्य नहीं प्राप्त कर सकते हैं अगर यह चेक किया जाता है यह मेरा कोड है ..mvc3 चेकबॉक्स मान सबमिट करने के बाद

[HttpPost] 
    public ActionResult view(string pick) 
    { 

     switch (pick) 
     { 
      case "Deny": 
       // capture checkbox value here 
       break; 
      case "Accept": 
       // capture checkbox value here 
       break; 

     } 
     return View(); 
    } 

यह मेरे विचार

@using (Html.BeginForm("view", "grouprequest", FormMethod.Post, new {})) 
{ 


@Html.DropDownList("pick", new SelectList(new List<Object>{ 
       new{ Text ="Accept", Value= "Accept"},new{ Text ="Deny", Value= "Deny"}}, "Value", "Text"), new {}) 

<input type="submit" name="work" id="work" value="Update" style="font-size:16px" /> 

foreach (var item in Model) 
{ 
<input type="checkbox" id="@item.grouprequestID" name="@item.grouprequestID" value="@item.grouprequestID" /> 


} 
} 

मूल रूप से dropdownlist है 2 विकल्प जो स्वीकार करते हैं और से इनकार करें मैं उपयोगकर्ता को स्विचर-केस के माध्यम से नियंत्रक में चुन सकता हूं, अब मैं चेकबॉक्स के मूल्य को कैप्चर कैसे कर सकता हूं? यदि आप देखते हैं कि चेकबॉक्स में उनके लिए एक चर है @groupRequestID इसलिए प्रत्येक चेकबॉक्स में 1,2,3 आदि जैसे एक अलग अद्वितीय मूल्य होते हैं .. किसी भी मदद की सराहना की जाएगी !!

मॉडल

public class grouprequest 
{ 
    [Key] 
    public int grouprequestID { get; set; } 
    public int? profileID { get; set; } 
    public int? registrationID { get; set; } 
    public DateTime expires { get; set; } 
    public int? Grouplink { get; set; } 
} 
+0

आपका 'मॉडल' कैसा दिखता है? साथ ही, चेकबॉक्स को 'selectGroupRequestIds' जैसे सामान्य नाम दें, फिर अपनी क्रिया में' IENumerable चयनित समूहप्रवेस्ट आईडी 'स्वीकार करें? –

+0

मैंने अभी अपना संदेश संपादित किया है और मॉडल डाला है और ठीक है, मैं देखता हूं कि आपकी कहानियां उन्हें एक आम नाम देती हैं और समूहरेक्वेस्ट आईडी का उपयोग करके चुने गए मानों को चुनते हैं। मैं कोशिश करता हूं कि – user1591668

उत्तर

17

चेक बॉक्स जब सर्वर पर पोस्ट में कार्य एक छोटे से अजीब। एक बॉक्स को चेक किया जाता है, तो ब्राउज़र

<input type="checkbox" name="name" value="value" /> 

में के रूप में name=value भेज देंगे लेकिन अगर चेकबॉक्स है नहीं जाँच सर्वर कुछ भी नहीं भेजता है।

<input type="checkbox" name="Check1" id="Checks1" value="Hello" checked="checked"/> 
<input type="checkbox" name="Check1" id="Checks1" value="Hello1" /> 
<input type="checkbox" name="Check1" id="Checks1" value="Hello2" /> 

Check1 = Hello

में परिणाम होगा यदि आपके सभी चेक बॉक्स उन्हें एक ही नामकरण अपने ActionMethod की इसी विशेषता से स्थापित हो जाएगा, से संबंधित हैं क्या इसका मतलब यह है। यदि वह विशेषता एक गणना है तो इसमें केवल वे लोग होंगे जिन्हें चेक किया गया है।

आप अपने ध्यान में रखते हुए इस हों:

<input type="checkbox" name="MyValues" value="1" checked="checked"/> 
<input type="checkbox" name="MyValues" value="2" /> 
<input type="checkbox" name="MyValues" value="3" /> 

और इस अपने नियंत्रक कार्रवाई विधि के रूप में:

myValues[0] == 1 

आप:

public ActionMethod MyAction(IEumerable<int> myValues) 

myValues चर इस तरह दिखेगा यह भी ध्यान रखना चाहिए कि यदि आप Html सहायक विस्तार का उपयोग कर रहे हैं:

@Html.CheckBoxFor(m => m.MyValue) 

कहाँ MyValue एक bool विस्तार एक checkbox इनपुट टैग और एक ही नाम के साथ भी एक hidden इनपुट टैग, एक मूल्य के अर्थ पैदा करेगा हमेशा नियंत्रक विधि में पारित हो जाएगा।

उम्मीद है कि इससे मदद मिलती है।

+0

सही प्रतिक्रिया के लिए धन्यवाद, जो सबकुछ साफ हो गया है और कोड है काम कर रहे !! एक साफ उत्तर के लिए – user1591668

+0

+1 ..... –

संबंधित मुद्दे