PDA

View Full Version : ایجاد Editor Template برای Enum



resident
سه شنبه 13 اسفند 1392, 19:02 عصر
سلام. من چند تا enum دارم که نوع هاش متفاوته. میخوام براش Editor Template تعریف کنم که اون enumها رو به dropdownlist تعریف کنه. کسی می تونه راهنماییم کنه؟ من از کد زیر تو برنامه استفاده کردم. مشکل اینه که هنگام ذخیره اطلاعات IDمقدار انتخاب شده برگردونده نمیشه


<select size="1" class="form-control chosen-select" name="Person_Sexular" id="Person_Sexular">
<option value="null">انتخاب کنید</option>
<option value="@((int)Gender.Female)">خانم</option>
<option value="@((int)Gender.Male)">آقا</option>

</select>

younesdoost
سه شنبه 13 اسفند 1392, 22:22 عصر
سلام.یه کلاس استاتیک به نام DropdownHelper ایجاد کنید.بعد توش مقادیر زیر رو داشته باشید:


static DropdownHelper()
{
gender = new List<Tuple<int, string>>();
gender.Add(new Tuple<int, string>((int)Gender.Male, "مرد"));
gender.Add(new Tuple<int, string>((int)Gender.Female, "زن"));
}
private static List<Tuple<int, string>> gender;
public static SelectList GetGenders()
{
SelectList sl = new SelectList(gender, "Item1", "Item2");
return sl;
}


و Dropdown خودتون رو با متد GetGenders پر کنید اما از اونجایی که در نام فیلدهای enum شما کاراکتر خاصی مثل فاصله وجود نداره می تونید اصلا enum خودتون رو اینطوری تعریف کنید که نیاز به کار بالا هم نباشه:


public enum Gender
{
مرد=1,
زن
}

resident
سه شنبه 13 اسفند 1392, 23:06 عصر
چطور میشه یه تابع نوشت برای همه ی نوعها؟
شما اینجا اختصاصی برای جنسیت نوشتید ولی من در اینترنت کدهاشو دیدم که عمومی نوشته بود ولی متاسفانه متوجه نشدم :(

resident
پنج شنبه 15 اسفند 1392, 00:41 صبح
اما از اونجایی که در نام فیلدهای enum شما کاراکتر خاصی مثل فاصله وجود نداره می تونید اصلا enum خودتون رو اینطوری تعریف کنید که نیاز به کار بالا هم نباشه:


public enum Gender
{
مرد=1,
زن
}


با تعریف enum به این صورت، چطور صداش کنم؟

younesdoost
دوشنبه 19 اسفند 1392, 23:19 عصر
با تعریف enum به این صورت، چطور صداش کنم؟

خب تو مدل باید یه پراپرتی از نوع enum تعریف کنی.

public Gender Gender{get;set;}


ef5 با dotnet4.5 یا کلا ef6 با هر ورژنی از dotnet می تونن enum ها را map کنن.

مهدی کرامتی
چهارشنبه 21 اسفند 1392, 04:49 صبح
اینجا رو ببین:
http://ruijarimba.wordpress.com/2012/02/17/asp-net-mvc-creating-localized-dropdownlists-for-enums/

یک مثال آماده هم برای دانلود گذاشته:
https://docs.google.com/uc?id=0B411XiA1vaSzRkVsbEtUcjd3blE&export=download