Mỗi lần tôi thêm một ứng dụng mới Nó tạo ra một AppCategory mới. Tôi chỉnh nghiêm túc này lên bằng cách nào đóASP.NET EditorTemplate DropdownList
đang khuôn khổ thực thể đầu tiên các đối tượng
public class AppCategory
{
public int ID { get; set; }
public string Name { get; set; }
public ICollection<App> apps { get; set; }
}
public class App
{
public int ID { get; set; }
public string Name { get; set; }
public AppCategory Category { get; set; }
}
biên tập Template (Tôi rất thích chỉ cần thực hiện chỉ là một chính EditorTemplate Ngoại)
@inherits System.Web.Mvc.WebViewPage
@Html.DropDownList("Category", LIG2010RedesignMVC3.Models.Repo.GetAppCategoriesSelect())
và tất nhiên các kho lưu trữ
public static IEnumerable<SelectListItem> GetAppCategoriesSelect()
{
return (from p in GetAppCategories()
select new SelectListItem
{
Text = p.Name,
Value = p.ID.ToString(),
});
}
public static ICollection<AppCategory> GetAppCategories()
{
var context = new LIGDataContext();
return context.AppCategories.ToList();
}
Mỗi lần tôi thêm ứng dụng mới Nó sẽ tạo một AppC mới ategory Tôi chỉnh nghiêm túc này lên bằng cách nào đó
Thêm nhiều thông tin gỡ lỗi
@inherits System.Web.Mvc.WebViewPage
@Html.DropDownList("", LIG2010RedesignMVC3.Models.Repo.GetAppCategoriesSelect())
mang đến cho tôi một tin nhắn xác nhận về bài
Parameters application/x-www-form-urlencoded
Category 1
Name 8
Validation lỗi Giá trị '1' không có hiệu lực.
Điều này có ý nghĩa vì Danh mục phải là đối tượng không phải là số nguyên.
điều khiển Mã như yêu cầu khá chắc chắn điều này isnt vấn đề như nó đến từ MVCScaffold
[HttpPost]
public ActionResult Create(App d)
{
if (ModelState.IsValid)
{
context.Apps.Add(d);
context.SaveChanges();
return RedirectToAction("Index");
}
return View();
}
Tôi không có ý tưởng những gì câu hỏi của bạn là hoặc làm thế nào bạn nhận được một phiếu bầu tán thành cho bài viết. Bạn đã từng bước qua chương trình trong trình gỡ lỗi để thu hẹp bất cứ nơi nào có vấn đề xảy ra? –
từ bộ điều khiển [HttpPost] công khai ActionResult Tạo (App d) Tôi nhận d.Category là null (thats lý do tại sao nó tạo ra một cái mới) nhưng tôi không biết tại sao tôi nhận được d.Category là null – MarkKGreenway
Đăng mã điều khiển của bạn xin vui lòng. Tôi khá chắc chắn vấn đề là có. – jfar