Как добавить изображения в качестве деталей в ASP MVC 3 Razor View с использованием Entity Framework - PullRequest
1 голос
/ 04 октября 2011

Для текущего проекта у меня есть (среди других классов) следующее:

public class Page
    {
        [Key]
        public int PageId { get; set; }
        public string Name { get; set; } //eg. "AboutUs", "Location"
        [Column(TypeName = "ntext")]  //force Entity Framework to create a ntext column
        public string Title { get; set; }
        public string Subtitle { get; set; }
        public string Content { get; set; }



        //navigational properties
        public virtual ObservableCollection<Image> Images{ get; set; } //one  Page has many Images

        public Page()
        {
            Images= new ObservableCollection<Image>();
        }
    }

В этом проекте ASP MVC 3 (с использованием Razor) я сначала использую код Entity Framework, и у меня нет проблем с вставкой и обновлением объектов этого типа.

НО: как я могу иметь основной вид детали, в котором деталь детали состоит только из изображений (см. Определение класса). Итак, как можно добавить изображение, если пользователь не хочет, чтобы оно было удалено, и, конечно, как показать все изображения в списке?

Любой намек очень важен!

1 Ответ

0 голосов
/ 05 октября 2011

Посмотрите на этот пост: Показать изображение из базы данных в asp mvc

Если вы пытаетесь выполнить рендеринг из базы данных, создайте метод в вашем контроллере для получения изображения и используйте его в качестве источника изображения, как в примере выше. Разница лишь в том, что ваша будет содержаться в

<ul>
@foreach(var image in Model.Images) {
    <li><a href="#"><img src="@Url.Action("Show", "Image", new {id = image.Id})" /></a></li>
}
</ul>

Тогда ваша модель будет содержать идентификаторы изображений, и это будет работа метода действия для извлечения изображения.

...