Софтуерно Инженерство
Loading...
Konstantin_Kosev avatar Konstantin_Kosev 11 Точки

DropDownListFor from ASP.NET MVC Projects

Здравейте,

При създаване на категории браузъра ми отпечатва грешка в DropDownListFor във файла Create .

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error: 
 


Line 21:                 @Html.LabelFor(m => m.Content, new { @class = "control-label col-sm-4" })
Line 22:                 <div class="dropdown col-sm-4">
Line 23:                     @Html.DropDownListFor(m => m.CategoryId,
Line 24:                        new SelectList(Model.Categories, "Id", "Name"))
Line 25:                 </div>

Все още не съм написал нищо в Article.cs в папката с моделите защото при изписване на properties всичко се чупи.

Тагове:
ZornitsaSerbezova avatar ZornitsaSerbezova 454 Точки

"Все още не съм написал нищо в Article.cs"

А дали не е това проблема? Странно е да имаш ArticleViewModel, а да нямаш Article модел.

Все още не съм се замисляла точно как работят вю моделите.

0
RoYaL avatar RoYaL SoftUni Team Trainer 6845 Точки

Ами те просто държат данни за вю-то.

0
ZornitsaSerbezova avatar ZornitsaSerbezova 454 Точки

Да, но кави данни подава на вю-то, като няма модел? ArticleViewModel не сам по себе си създава ли модел в базата.

Дори не знам как да си задам въпросът.

0
RoYaL avatar RoYaL SoftUni Team Trainer 6845 Точки

Данните, които отиват във View-то не е нужно да идват от база данни.

Ако да речем имаш ViewModel-а ArticleViewModel със следните характеристики:

class ArticleViewModel
{
    public string Title { get; set; }
    public string Boy { get; set; }
}

Имаш хиляди начини да го попълниш, за да го пратиш на View-то. Можеш да изтеглиш реална статия от базата данни и да я превърнеш във ArticleViewModel. Можеш да си измислиш данни и да ги сложиш там. Може да прочетеш File и данните от него да сложиш в този ViewModel. Може от потребителския вход да обработиш данните и да ги превърнеш във ViewModel. Разбира се, най-често се случва да извадиш нещо от база данни и да го подадеш на изгледа:

public ActionResult Details(int id)
{
    Article article = this.Data.Articles.Find(id);
    ArticleViewModel viewModel = new ArticleViewModel()
           {
               Title = article.Title,
               Body = article.Body
           };

    return View(viewModel);
}

Но нищо не пречи да изглежда и така:

public ActionResult Details(int id)
{
    ArticleViewModel viewModel = new ArticleViewModel()
           {
               Title = "Some fake title, just to test the view",
               Body = "Some fake body for the same purpose {lorem ipsum}"
           };

    return View(viewModel);
}

 

2
Konstantin_Kosev avatar Konstantin_Kosev 11 Точки

файла Details from View/Article  ми дава грешка 

HTTP Error 400.0 - Bad Request

Може би от там е проблема,но незнам как да го коригирам.

0