2013-03-06 5 views
0

UPDATE!MVC half complex Модель Bound другая половина всегда null

Хорошо, теперь я протестировал создание двух действий, основанных на том, какую форму вы отправляете.

Один из видов всегда правильно соответствует модели входа. Другой не связан всегда возвращает null.

Модель построена как этот

public class RegisterAndLogin 
{ 
    public LogOnModel Login { get; set; } 
    public interested_users Register { get; set; } 
} 

//This model never any values after HTTP post 
public class interested_users 
{ 
    [Required] 
    [Display(Name = "Email")] 
    public string Email { get; set; } 
    [Required] 
    [Display(Name = "UserType")] 
    public string UserType { get; set; }  
    [Display(Name = "Date Inserted")] 
    public DateTime DateInserted { get; set; } 
    [Display(Name = "IP")] 
    public string IpAdress { get; set; } 
    public List<SelectListItem> SelectItems { get; set; } 
} 

И вид

@model MvcApplication2.Models.ViewModel.RegisterAndLogin 

@{ 
ViewBag.Title = "Start by filling in your email"; 
} 

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript">  </script> 
<h2 class="title">Sign up!</h2> 

@using (Html.BeginForm("Index","Home", FormMethod.Post)) 
{ 

<div class="form-item"> 
     @Html.EditorFor(model => model.Register.Email,null,"emailbox",null) 
     @Html.ValidationMessageFor(model => model.Register.Email) 
    </div> 
<div class="form-item"> 
    @Html.DropDownListFor(model => model.Register.UserType,Model.Register.SelectItems, new { @class = "emailbox" }) 
    </div> 
<input type="submit" name="Register" value="Register" class="form-submit" /> 
} 

Обновлено!

Я загружаю два частичных вида на мой основной вид.

Из них один выше, а другой - частичный вид входа.

Somethings тусклый .. Если я сказать не работает вид на @using (Html.BeginForm())

Он не возвращается к ActionReslut без HTTP, он идет к HTTP снова .. Which говорит мне, что другая форма (форма входа) делает то, о чем я не знаю?

ответ

0

попробуйте

@Html.EditorFor(model => model.Register.Email,"emailbox") 
+0

Не работает .. Я думаю, это потому, что у меня есть две различные формы. Там, где кажется, что последняя форма (loginform), которая работает, делает что-то подозрительное, что в свою очередь уничтожает все для другого поля, см. Обновленную часть вопроса. – 8bitcat

Смежные вопросы