Member 13597992 Ответов: 1

Как создать контроллер для нижеприведенного класса модели в ASP.NET MVC 4 использует синтаксис razor?


Проблема в том что моя модель и контекстный класс не отображаются в опциях компьютер говорит нет класса модели

Шаблон

Контроллер MVC с действиями чтения/записи и представлениями, использующий Entity Framework

Класс моделей

Классы моделей не доступны

Класс контекста данных не имеет никакой опции


EmpModel.в CS

использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel.DataAnnotations;
использование System.Linq;
использование системы.Сеть;
использование System.Web.Mvc;

пространство имен FileUploadDownLoadInMVC.Models
{
публичный класс EmpModel
{
общедоступные файлы HttpPostedFileBase { get; set; }
}

открытый класс FileDetailsModel
{
public int Id { get; set; }
общественного строка имя { получить; набор; }
public byte[] FileContent { get; set; }

общедоступный виртуальный интерфейс ICollection&ЛТ;empmodel&ГТ; файл { получить; набор; }
}
}

dbcon.в CS

использование системы;
использование System.Data.Entity;
использование системы.Коллекции.Общий;
использование System.Linq;
использование системы.Сеть;
использование System.Web.Mvc;

пространство имен FileUploadDownLoadInMVC.Models
{
публичный класс dbcon : DbContext
{
public dbcon() : base("dbcon")
{
}

общественности в dbset&ЛТ;empmodel&ГТ; файл { получить; набор; }
общественности в dbset&ЛТ;filedetailsmodel&ГТ; подробности { получить; набор; }

охраняемых переопределить недействительными OnModelCreating(DbModelBuilder в modelbuilder)
{
// построения модели.Конвенции.Удалить<pluralizingtablenameconvention>();
}
}
}



веб.конфиг

<connectionStrings>
    <add name="dbcon"  
         connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\university.mdf;Integrated Security=True" 
         providerName="System.Data.SqlClient" />
</connectionStrings>


Что я уже пробовал:

я сделал свой класс модели и класс DBContext и web.conf, но я хочу сделать контроллер и представление для следующей модели, используя мою модель и класс DBcontext, они не отображаются в модели, когда я добавляю контроллер .

1 Ответов

Рейтинг:
2

David_Wimbley

Я действительно не совсем уверен, почему вы просто не создадите контроллер, связанный с представлением...у вас есть представление, которое будет плотно привязано к нужному классу модели, в данном случае ваш EmpModel класс.

Если попытка создать шаблон не работает, просто создайте новый контроллер под названием EmployeeController Затем создайте новое представление под названием Employee нажав на папку views и сделав правый клик, добавьте новый элемент (или любой другой вариант). Затем в вашем представлении вы объявите модель для представления чем-то вроде @model FileUploadDownloadInMVC.Models.EmpModel.

Тогда для вашего контроллера это будет выглядеть примерно так

public class EmployeeController : Controller
{

    //passing in ID here as im assuming you've got some sort of unique ID to show records
    public ActionResult Employee(string id)
    {
       var model = new EmpModel();

       return View(model);
    }
}


Я думаю, что вы застряли на попытке использовать встроенные шаблоны visual studio. Вероятно, так же быстро построить модель/представление/контроллеры, которые вам нужны вручную (может быть, не так быстро, но что еще 10 секунд).

Учитывая, что это довольно простой материал, я рекомендую вам использовать google или следующие ссылки для получения дополнительной информации.

asp.net учебник по MVC - поиск в Google[^]

ASP.NET руководство MVC | The ASP.NET сайт[^]

Начало работы с кодом Entity Framework 6 Сначала с помощью MVC 5 | Microsoft Docs[^]

Начало работы с ASP.NET MVC 5 | Microsoft Docs[^]

Шаг за шагом ASP.NET MVC учебник для начинающих - YouTube[^]