Loading...
Konstantin_Kosev avatar Konstantin_Kosev 12 Точки

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 455 Точки

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

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

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

0
RoYaL avatar RoYaL Trainer 6849 Точки

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

0
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

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

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

0
RoYaL avatar RoYaL Trainer 6849 Точки

Данните, които отиват във 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 12 Точки

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

HTTP Error 400.0 - Bad Request

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

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.