क्या किसी ऑब्जेक्ट की एक से अधिक संपत्ति से बना सी # के माध्यम से asp.net में ड्रॉपडाउन सूची की डेटाटेक्स्टफील्ड संपत्ति बनाने का कोई तरीका है?ड्रॉपडाउनलिस्ट डेटाटेक्स्टफिल्ड गुणों से बना है?
public class MyObject
{
public int Id { get; set; }
public string Name { get; set; }
public string FunkyValue { get; set; }
public int Zip { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
List<MyObject> myList = getObjects();
ddList.DataSource = myList;
ddList.DataValueField = "Id";
ddList.DataTextField = "Name";
ddList.DataBind();
}
मैं चाहता हूं उदा। "नाम" का उपयोग न करें, लेकिन "नाम (ज़िप)" उदाहरण के लिए।
निश्चित रूप से, मैं माइओब्जेक्ट क्लास बदल सकता हूं, लेकिन मैं ऐसा नहीं करना चाहता (क्योंकि मायऑब्जेक्ट क्लास मॉडल क्लास में है और मुझे यूआई में जो कुछ चाहिए वह नहीं करना चाहिए)।
public string DisplayValue
{
get { return string.Format("{0} ({1})", Name, Zip); }
}
या यदि आप MyObject संशोधित नहीं कर सकते, प्रस्तुति परत (बस प्रदर्शित करने के लिए) में एक आवरण वस्तु बनाने:
धन्यवाद, यह बेहतर आर्किटेक्चर प्राप्त करने के लिए एक उपयोगी संकेत है, लेकिन आप मेरे प्रश्न को पूरी तरह से समझ गए। :) – karlis