Основная модель ASP.Net не найдена в поле зрения - PullRequest
0 голосов
/ 28 ноября 2018

Я перебираю некоторые основные учебные пособия по ASP.Net.Я работаю с моделями.Я создал модель Quote для хранения имени и некоторого текста в БД, но получаю сообщение об ошибке:

obj / Debug / netcoreapp2.1 / Razor / Views / Home / CreateQuote.g.cshtml.cs (23,92): ошибка CS0246: не удалось найти тип или имя пространства имен 'Quotes'.

HomeController.cs

using System;
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http;
using DbConnection;
using Session.Models;

namespace Session.Controllers
{
    public class HomeController : Controller
    {
        [HttpGet("quote")]
        public IActionResult CreateQuote() {
            return View();
        }

        [HttpPost("quote/Create")]
        public void Create(Quotes quote) {
            System.Console.WriteLine("Hi!!!!");
            System.Console.WriteLine("name is: "+quote.name);
        }

        [HttpGet("test")]
        public IActionResult test(Quotes obj) {
            ViewBag.name = obj.name;
            ViewBag.quote = obj.quote;

            System.Console.WriteLine(obj.name);
            System.Console.WriteLine(obj.quote);
            return View("test");
        }    
    }
}

Quotes.cs

using System;
using System.ComponentModel.DataAnnotations;

namespace Session.Models
{
    public class Quotes
    {
        //[Required]
        [Display(Name = "Your Name:")]
        public string name {get;set;}

        //[Required]
        [Display(Name = "Quote:")]
        public string quote{get;set;}
        public DateTime createdAt {get;set;}
    }
}

CreateQuote.cshtml

@model Quotes
<form asp-action="Create" asp-controller="Home" method="post">
    <span asp-validation-for="name"></span>
    <label asp-for="name"></label>
    <input asp-for="name"><br>
    <span asp-validation-for="quote"></span>
    <label asp-for="quote"></label>
    <input asp-for="quote"><br>
    <input value="Add Quote" type="submit">
 </form>

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Опция 3 - ViewImports

_ViewImports.cshtml

@using Session.Models
0 голосов
/ 28 ноября 2018

Опция 1

Обращайтесь к вашей модели как @model Session.Models.Quotes в представлении CreateQuote.cshtml.

Вариант 2

@model Quotes
@using Session.Models
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...