asp.net mvc - MVC सरल मॉडल बाइंडिंग काम नहीं कर रहा है

Translate

ठीक है, यह कुछ बेवकूफ-जैसा-ए-बॉक्स-ऑफ-रॉक्स हो गया है जो मैं गलत कर रहा हूं, लेकिन मुझे यह नहीं मिल रहा है।

एमवीसी कार्रवाई:

[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult Create(BatchCreateViewModel createModel)
{
    return RedirectToRoute(MVC.Home.Display());
}

बैचक्रिएट व्यूमॉडल:

public class BatchCreateViewModel
{
    bool searchAVM;
    bool searchBPO;
    bool searchAppraisal;
    int transactionAge;
    string Description;
    string uploadfile;
}

"SearchAVM", "searchBPO", "searchAppraisal", (चेकबॉक्स) "लेनदेनएज" (पूर्णांक मानों के साथ रेडियो बटन का एक सेट) और "विवरण" (एक पाठ बॉक्स) नाम के व्यू पेज पर नियंत्रण हैं।

जब मैं "क्रिएट" करने के लिए प्रवेश पर ब्रेक लगाता हूं, तो createModel होता है, लेकिन इसमें सभी डिफ़ॉल्ट मान होते हैं (स्ट्रिंग्स के लिए अशक्त, बूलियंस के लिए झूठ, इंट के लिए 0)। यदि मैं Request.Form की जांच करता हूं, तो मान हैं, लेकिन वे मॉडल में नहीं मिल रहे हैं।

मैं क्या गलत कर रहा हूं?

(यह एमवीसी 2, फ्रेमवर्क 4 के तहत है)

This question and all comments follow the "Attribution Required."

सभी उत्तर

Translate

आपके दृश्य मॉडल में स्वचालित गुण होने चाहिए, सार्वजनिक चर नहीं। यह मुझे पहले पकड़ा है!

तो यह होना चाहिए:

public class BatchCreateViewModel 
{ 
    public bool searchAVM {get;set;}
    public bool searchBPO {get;set;}
    public bool searchAppraisal {get;set;}
    public int transactionAge {get;set;}
    public string Description {get;set;}
    public string uploadfile {get;set;}
} 
स्रोत
Leave a Reply
You must be logged in to post a answer.
लेखक के बारे में