Добавление случая, когда имя класса для объекта, используемого в структуре сущности, такое же, как имя класса для файла с кодировкой веб-формы.
Предположим, у вас есть веб-форма Contact.aspx, чей класс codebehind Свяжитесь с вами, и у вас есть имя объекта Contact.
Затем следующий код вызовет исключение NullReferenceException при вызове context.SaveChanges ()
Contact contact = new Contact { Name = "Abhinav"};
var context = new DataContext();
context.Contacts.Add(contact);
context.SaveChanges(); // NullReferenceException at this line
Ради полноты класса DataContext
public class DataContext : DbContext
{
public DbSet Contacts {get; set;}
}
и класс сущности контакта. Иногда классы сущностей являются частичными классами, так что вы можете распространять их и в других файлах.
public partial class Contact
{
public string Name {get; set;}
}
Ошибка возникает, когда оба класса entity и codebehind находятся в одном и том же пространстве имен. Чтобы исправить это, переименуйте класс сущности или класс codebehind для Contact.aspx.
Причина. Я все еще не уверен в причине. Но всякий раз, когда какой-либо из классов сущностей расширяет System.Web.UI.Page, возникает эта ошибка.
Для обсуждения рассмотрим NullReferenceException в DbContext.saveChanges ()
Пункты в HTML 5, относящиеся к последнему рабочему проекту, определяются как элементы потока, которые могут содержать только фразирующие элементы. Списки также определяются как элементы потока и не могут быть заключены в параграфы. Что бы вы ни думали, определение параграфа должно быть, это формальное определение термина в HTML, и я думаю, что это вряд ли изменится.
Есть две возможности, которые вы могли бы рассмотреть, помимо двух вы упомянутый:
section
, nav
, header
, footer
или article
. p – ol – p
с помощью div
по вашему выбору, который применяет общее форматирование к набору. Что касается div
, спецификатор HTML 5 явно рекомендует, чтобы он был элементом «последней инстанции», поскольку он не несет семантического значения в том, как это делают другие элементы HTML, и может быть не таким удобным для пользователей в альтернативных пользовательских агентах. Следуя этим советам, я бы не использовал div
за счет p
для основного текста, если семантика важна для вас. Однако, это может быть полезно, чтобы убедиться, что использование нескольких абзацев не слишком визуально изменено.
Есть ли причина визуального стиля? Другими словами, если у вас есть что-то вроде следующего, визуально ли оно визуализируется таким образом, что вы не найдете идеального?
<p>Some paragraph text.</p>
<ul>
<li>First list item</li>
<li>Second list item</li>
<li>Third list item</li>
</ul>
<p>Another paragraph.</p>
Если проблема имеет слишком большое значение после P и перед UL, то вы можете попробовать смежный селектор, подобный этому, чтобы компенсировать:
p + ul { margin-top: -1em; }
Ответ на ваш вопрос, очевидно, нет, потому что спецификации говорят, что вы не можете этого сделать. Как и вы, мне нравится поддерживать семантику, поэтому я обычно использую ваш второй вариант (абзац, список, другой абзац). Однако, с моей головы, я не могу придумать какой-либо текст, в котором список фактически не нарушает поток текста, поэтому кажется, что начало нового абзаца после того, как список не может повредить.
Я не думаю, что тэг html <p>
предназначен для управления идиомами реальных стилей записи. Это простой способ отображения фрагмента текста упорядоченным образом. Я не думаю, что он предназначен для имитации печатных материалов. Вам нужно будет использовать Div для этого.
p
в любом случае ... Но я уверен, что видел некоторые упоминания о браузерах, которые относились к ним по-другому, но я не помните, где. (Возможно, что-то связано с программами для чтения с экрана).
– Zee
7 July 2010 в 03:08
Я полагаю, это зависит от того, что вы считаете «абзацем». Для меня очевидно, что разработчики HTML никоим образом не рассматривают список как часть абзаца. И хотя я думаю, что может быть аргумент в пользу любой интерпретации, я считаю, что спецификация верна.
Хотя список не представляет собой разрыв в линии мысли, он, безусловно, представляет собой изменение голоса или метод мышления, который, по моему мнению, заслуживает нового семантического контейнера.
В том же духе абзац представляет собой логический раздел в части письма. Список представляет собой последовательность логических разделов, и хотя можно представить, что один логический раздел может быть затем разделен на большее количество разделов, имеет смысл просто создать новый раздел (особенно для такого большого разрыва в голосе / методе).
Семантика может быть в значительной степени субъективной. И это нормально. Однако в этом случае я считаю, что спецификация HTML правильно представляет семантику.
div
s. Кроме этого, предложение использовать более широкие теги также кажется хорошей идеей. – Zee 7 July 2010 в 04:14