Когда я публикую свою модель, Id отсутствует:
У меня есть модель базы данных NHibernate "Контакт":
public class Contact : Entity<int>
{
public virtual string LastName { get; set; }
public virtual string FirstName { get; set; }
}
public abstract class Entity<TId>
{
public virtual TId Id { get; protected set; }
public override bool Equals(object obj)
{
return Equals(obj as Entity<TId>);
}
}
I
n на контроллере, я устанавливаю модель:
public class MyModel
{
public Contact Contact { get; set; }
}
public ActionResult MyController()
{
MyModel model = new MyModel();
model.Contact = ... //come from DB
return PartialView("Contact", model);
}
В представлении я делаю это:
@Html.HiddenFor(m => m.Contact.Id)
(когда я заменяю TextBoxFor, я вижу правильное значение)
Когда я публикую форму,в контроллере все значения в модели, но Contact.Id все время равен 0
Я пишу так:
var jqxhr = $.post("Controller/MyAction", $("form").serialize(),
function (data) {
});
В контроллере:
[HttpPost]
public ActionResult MyAction(MyModel model)
{
//model.Contact.Id equal 0 all the time
//other value (fields) are ok.
}
Есть идеи?
Спасибо,