получить выбранные данные из «select» и вызвать событие [duplicate]

Добавление случая, когда имя класса для объекта, используемого в структуре сущности, такое же, как имя класса для файла с кодировкой веб-формы.

Предположим, у вас есть веб-форма 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 ()

20
задан Omu 29 September 2010 в 15:21
поделиться

5 ответов

Другие решения будут отправлять все формы на странице, если они должны быть. Лучше было бы:

$(function() {
    $('#themes').change(function() {
        this.form.submit();
    });
});
62
ответ дан RoToRa 23 August 2018 в 01:25
поделиться
  • 1
    Если у вас несколько форм, было бы еще лучше, если бы вы заменили третью строку: $ (this) .parent ('form'). Submit (); – Peter de Ridder 18 February 2013 в 16:10
  • 2
    @PeterdeRidder this.form уже делает это и многое другое, потому что $(this).parent('form') работает только в том случае, если форма является прямым родителем элемента select, которого часто нет. – RoToRa 18 February 2013 в 18:18

Я рекомендую использовать метод привязки longhand, потому что он имеет тот же эффект, что и стенография других ответов, но при необходимости вы можете добавлять дополнительные события, не изменяя свой код.

$("#themes").bind("change", function() {
  $("form").trigger("submit");
});
2
ответ дан Aaron 23 August 2018 в 01:25
поделиться
  • 1
    Эти решения будут отправлять все формы на странице ... – bato3 21 March 2016 в 12:37
$(function() {
    $('#themes').change(function() {
        $('form').submit();
    });
});
1
ответ дан Darin Dimitrov 23 August 2018 в 01:25
поделиться
  • 1
    Эти решения будут отправлять все формы на странице ... – bato3 21 March 2016 в 12:38
$('#themes').change(function(){
    $('form').submit();
});
4
ответ дан Rocket Hazmat 23 August 2018 в 01:25
поделиться
  • 1
    Эти решения будут отправлять все формы на странице ... – bato3 21 March 2016 в 12:37

Если ваш html содержит более одной формы

$(function() {
  $('#themes').on('change', function(e) {
    $(this).closest('form')
           .trigger('submit')
  })
})
4
ответ дан xPheRe 23 August 2018 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: