এই পুরানো থ্রেড আপ করার জন্য দুঃখিত।
আমি এনামকে স্থানীয়করণের জন্য নিম্নলিখিত পদ্ধতিতে যাব, কারণ এটি উদাহরণস্বরূপ একটি ড্রপডাউনলিস্ট পাঠ্য ক্ষেত্রের মাধ্যমে কেবল বর্ণন নয়, ব্যবহারকারীর কাছে অর্থবহ এবং স্থানীয়ীকৃত মানগুলি প্রদর্শন করতে পারে।
প্রথমত, আমি বিশ্বব্যাপী সংস্থান ফাইল থেকে স্থানীয়করণের স্ট্রিংগুলি পাওয়ার জন্য ওউটোস্ট্রিংবাইকালচার নামে একটি সাধারণ পদ্ধতি তৈরি করি, উদাহরণস্বরূপ এটি অ্যাপ_গ্লোবাল রিসোর্স ফোল্ডারে বাইবং নেট.রেসেক্স। এই রিসোর্স ফাইলের ভিতরে, নিশ্চিত হয়ে নিন যে আপনার কাছে সমস্ত স্ট্রিং এনামের মানগুলির মতোই রয়েছে (ReallyNice, SortOfNice, NotNice)। এই পদ্ধতিতে, আমি প্যারামিটারটিতে পাস করি: রিসোর্স ক্লাসনাম যা সাধারণত রিসোর্স ফাইলের নাম।
এরপরে, এনওমকে এটির ডেটাসোর্স হিসাবে একটি ড্রপডাউনলিস্ট পূরণ করার জন্য আমি একটি স্ট্যাটিক পদ্ধতি তৈরি করি, যার নাম OwFillDataWithEnum। এই পদ্ধতিটি পরে কোনও এনামের সাথে ব্যবহার করা যেতে পারে।
তারপরে ড্রপডাউনলিস্ট 1 নামে একটি ড্রপডাউনলিস্ট সহ পৃষ্ঠাতে, আমি ড্রপডাউনলিস্টে এনামটি পূরণ করার জন্য নীচের মাত্র একটি সাধারণ লাইন কোড_পেজটি লোড করুন।
BiBongNet.OwFillDataWithEnum<HowNice>(DropDownList1, "BiBongNet");
এটাই. আমি মনে করি এর মতো কয়েকটি সাধারণ পদ্ধতিতে, আপনি কোনও এনামের সাথে যে কোনও তালিকা নিয়ন্ত্রণ পূরণ করতে পারেন, কেবল বর্ণনামূলক মান নয়, স্থানীয় পাঠ্য প্রদর্শন করতে। আপনি আরও ভাল ব্যবহারের জন্য এক্সটেনশন পদ্ধতি হিসাবে এই সমস্ত পদ্ধতি তৈরি করতে পারেন।
এই সাহায্য আশা করি। ভাগ করে নিতে শেয়ার করুন!
পদ্ধতিগুলি এখানে:
public class BiBongNet
{
enum HowNice
{
ReallyNice,
SortOfNice,
NotNice
}
/// <summary>
/// This method is for filling a listcontrol,
/// such as dropdownlist, listbox...
/// with an enum as the datasource.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ctrl"></param>
/// <param name="resourceClassName"></param>
public static void OwFillDataWithEnum<T>(ListControl ctrl, string resourceClassName)
{
var owType = typeof(T);
var values = Enum.GetValues(owType);
for (var i = 0; i < values.Length; i++)
{
//Localize this for displaying listcontrol's text field.
var text = OwToStringByCulture(resourceClassName, Enum.Parse(owType, values.GetValue(i).ToString()).ToString());
//This is for listcontrol's value field
var key = (Enum.Parse(owType, values.GetValue(i).ToString()));
//add values of enum to listcontrol.
ctrl.Items.Add(new ListItem(text, key.ToString()));
}
}
/// <summary>
/// Get localized strings.
/// </summary>
/// <param name="resourceClassName"></param>
/// <param name="resourceKey"></param>
/// <returns></returns>
public static string OwToStringByCulture(string resourceClassName, string resourceKey)
{
return (string)HttpContext.GetGlobalResourceObject(resourceClassName, resourceKey);
}
}