我想投一個枚舉爲int值,存在投枚舉在我的服務,它看起來像這樣如何投放枚舉INT
public Dictionary<int, string> GetWorkingDays()
{
var days = typeof(WorkDays).ToSelectList();
return days;
}
到seletListItem的擴展,然後我就回到我的看法使用這樣
ViewBag.WorkingDays = _vendorService.GetWorkingDays().Select(x => new SelectListItem { Value = x.Key.ToString(), Text = x.Value });
查看購物袋現在當枚舉的一個是從視圖中選擇它int值返回到我的控制器我怎麼能強制轉換的int我的服務initialisations ...
謝謝你您的時間,請
這是我的服務
public int AddVendor(string companyname, string addressOne, string addressTwo, string city, string state, string country, string phone, string email, int workingDays)
{
var vendor = new Vendor()
{
CompanyName = companyname,
AddressLineOne = addressOne,
AddressLineTwo = addressTwo,
City = city,
State = state,
Country = country,
Phone = phone,
Email = email,
IsActive = true,
RegistrationDate = DateTime.Now
WorkingDays = //casting here to collect the parameter (int workingDays)
};
_unitOfWork.VendorRepository.Insert(vendor);
_unitOfWork.VendorRepository.Save();
return vendor.Id;
}
這裏是枚舉
public enum WorkDays
{
EveryDay, MondayToFriday, MondayToSaturday, FridayToSunday, SaturdayAndSunday
}
這是控制器
[HttpPost]
public ActionResult Create(VendorViewModel model)
{
//
if (!ModelState.IsValid)
{
ViewBag.WorkingDays = _vendorService.GetWorkingDays().Select(x => new SelectListItem { Value = x.Key.ToString(), Text = x.Value });
ViewBag.Error = false;
return View(model);
}
var vendor = _vendorService.AddVendor(model.CompanyName, model.AddressLineOne, model.AddressLineTwo, model.City, model.State, model.Country,model.OpeningTime,model.ClosingTime, model.Phone, model.Email, model.WorkingDays);
if (vendor != 0)
{
_vendorService.AddVendorContact(model.FirstName, model.LastName, model.MobileNumber1, model.MobileNumber2, model.EmailAddress, vendor);
}
return RedirectToAction("Index");
}
我的模型
public class Vendor : BaseDataObject
{
public string CompanyName { get; set; }
public string AddressLineOne { get; set; }
public string AddressLineTwo { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public DateTime RegistrationDate { get; set; }
public bool IsActive { get; set; }
public string OpeningTime { get; set; }
public string ClosingTime { get; set; }
public WorkDays WorkingDays { get; set; }
}
public enum WorkDays
{
EveryDay, MondayToFriday, MondayToSaturday, FridayToSunday, SaturdayAndSunday
}
那麼這是視圖模型
public class VendorViewModel
{
[Required]
[DisplayName("Company Name")]
public string CompanyName { get; set; }
[Required]
[DisplayName("Address Line One")]
public string AddressLineOne { get; set; }
[DisplayName("Address Line Two")]
public string AddressLineTwo { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
[Phone]
public string Phone { get; set; }
[EmailAddress(ErrorMessage = "Invalid E-Mail Address")]
[Required]
public string Email { get; set; }
[DisplayName("Opening Time")]
public string OpeningTime { get; set; }
[DisplayName("Closing Time")]
public string ClosingTime { get; set; }
[DisplayName("Working Days")]
public int WorkingDays { get; set; }
}
你有任何與此谷歌? – 2014-09-03 09:11:00
默認情況下,'enum'是'int',所以你可以直接做到:'int result =(int)workDays;' – 2014-09-03 09:13:31