Добавление случая, когда имя класса для объекта, используемого в структуре сущности, такое же, как имя класса для файла с кодировкой веб-формы.
Предположим, у вас есть веб-форма 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 ()
Другие решения будут отправлять все формы на странице, если они должны быть. Лучше было бы:
$(function() {
$('#themes').change(function() {
this.form.submit();
});
});
Я рекомендую использовать метод привязки longhand, потому что он имеет тот же эффект, что и стенография других ответов, но при необходимости вы можете добавлять дополнительные события, не изменяя свой код.
$("#themes").bind("change", function() {
$("form").trigger("submit");
});
$(function() {
$('#themes').change(function() {
$('form').submit();
});
});
$('#themes').change(function(){
$('form').submit();
});
Если ваш html содержит более одной формы
$(function() {
$('#themes').on('change', function(e) {
$(this).closest('form')
.trigger('submit')
})
})
this.form
уже делает это и многое другое, потому что$(this).parent('form')
работает только в том случае, если форма является прямым родителем элемента select, которого часто нет. – RoToRa 18 February 2013 в 18:18