2012-04-02 19 views
5

से सजाया गया है तो कोड में कैसे पता लगाया जाए, मेरे पास एक दृश्य है जहां मुझे यह पता लगाने की आवश्यकता है कि संपत्ति छिपी हुई इनपुट से सजाई गई है या नहीं।अगर संपत्ति छिपी हुई इनपुट

मेरे संपत्ति के रूप में परिभाषित किया गया है:

[HiddenInput(DisplayValue = false)] 
public string UserName{ get; set; } 

मेरे प्रयास अब तक कर दिया गया है:

var column.Member = "UserName"; 

if (ViewData.ModelMetadata.HideSurroundingHtml == true && 
     ViewData.Values.Contains(column.Member)) 
{       
    column.Visible = false; 
} 

मैंने पढ़ा है कि मैं "HideSurroundingHtml" का उपयोग करने के लिए यदि संपत्ति चाहिए निर्धारित करने के लिए सक्षम हो सकता है प्रदर्शित नहीं किया जा सकता है।

कोई विचार यह कैसे पता लगाया जाए?

उत्तर

0

इस समस्या का समाधान मेरे इस प्रकार है:

मैं एचटीएमएल सहायक है कि मुझे गुण है कि "HiddenInput" विशेषता के साथ सजाया गया है साथ नामों की सरणी देता है बनाया है।

public static string[] GetListOfHiddenPropertiesFor<T>(this HtmlHelper htmlHelper) 
     { 
      Type t = typeof(T); 
      var propertyInfos = t.GetProperties() 
           .Where(x => Attribute.IsDefined(x, typeof(HiddenInputAttribute))) 
           .Select(x => x.Name).ToArray(); 
      return propertyInfos; 
     } 
इस

सब मैं

की जरूरत है
2

आप यह देखने के लिए प्रतिबिंब का उपयोग कर सकते हैं कि किसी विशिष्ट संपत्ति में कोई विशेषता है या नहीं।

this question पर देखें।

विभिन्न उत्तरों में एक उपयोगकर्ता को posted a snippet एक विस्तार विधि बनाने के लिए यह देखने के लिए कि कोई संपत्ति एक विशिष्ट विशेषता है या नहीं। आशा है कि यह मदद करता है

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