У меня есть следующие модели:ASP.NET MVC 2 Создание модели с помощью POST
public class Product {
public int Id { get; set; }
public string Name { get; set; }
private int CategoryId { get; set; }
public Category Category { get; set; }
public string InventoryDetails { get; set; }
}
У меня есть действие в мой контроллер, который используется для создания нового продукта. Мой вопрос заключается в том, как ограничить свойства моей модели, которые могут быть связаны с данными POST? Потому что я хочу, чтобы только имя и CategoryId были связаны данными пользователя POST. Или лучше создать отдельную модель просмотра, которая может связывать только эти свойства?
public ActionResult Create(Product p)
или
public ActionResult Create(CreateProductViewModel model)
где
public class CreateProductViewModel {
public string Name {get; set;}
public int CategoryId {get;set;}
}
Но из-за использования «магических» струн вы потеряли способность к рефакторингу и безопасности. – Ryan
Не совсем, вы всегда можете перечислить их, если хотите, или сохранить их в постоянных переменных. Я просто предоставляю варианты. –