В настоящее время я работаю над учебником для блога, используя ado.net и mvc3 (в c #).Я довольно новичок в разработке, поэтому, пожалуйста, немного расслабьтесь!В любом случае у меня возникают проблемы с отладкой одного из контроллеров данных, ответственных за чтение (проверка отключена) сообщений пользователя и добавление их в блог.Код разбивается в функции GetPost (отмечен комментарием).Любая помощь будет принята с благодарностью
`using System;using System.Collections.Generic;использование System.Linq;использование System.Web;использование System.Web.Mvc;используя Blog.Models;using System.Text;
namespace Blog.Controllers
{
public class PostsController : Controller
{
private BlogModel model = new BlogModel();
public ActionResult Index()
{
return View();
}
[ValidateInput(false)]
public ActionResult Update(int? id, string title, string body, DateTime dateTime, string tags)
{
if (!IsAdmin)
{
return RedirectToAction("Index");
}
Post post = GetPost(id);
post.Title = title;
post.DateTime = dateTime;
post.Body = body;
post.Tags.Clear();
tags = tags ?? string.Empty;
string[] tagNames = tags.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string tagName in tagNames)
{
post.Tags.Add(GetTag(tagName));
}
if (id.HasValue)
{
model.AddToPosts(post);
}
model.SaveChanges();
return RedirectToAction("Details", new { id = post.ID });
}
public ActionResult Edit(int? id)
{
Post post = GetPost(id);
StringBuilder tagList = new StringBuilder();
foreach (Tag tag in post.Tags)
{
tagList.AppendFormat("{0} ", tag.Name);
}
ViewBag.Tags = tagList.ToString();
return View(post);
}
private Tag GetTag(string tagName)
{
return model.Tags.Where(x => x.Name == tagName).FirstOrDefault() ?? new Tag() { Name = tagName };
}
/ * Ниже приведено исключение «Последовательность не содержит элементов» * /
private Post GetPost(int? id)
{
return id.HasValue ? model.Posts.Where(x => x.ID == id).First() : new Post() { ID = -1 };
}
public bool IsAdmin { get { return true; } }
}
}
` РЕДАКТИРОВАТЬ 16:29 GMT Да, вы, ребята, правы на деньги!Это прошло хорошо, спасибо!Что странно, теперь я получаю исключение Nullreference для этого бита
post.Title = title;
post.DateTime = dateTime;
post.Body = body;
Должен ли я их как-то объявлять или я что-то упускаю?
Не обращайте внимания на правку выше,была просто опечатка.Еще раз спасибо