2011-06-16 1 views
1

Что не так? Модель всегда равна нулю.Нулевая и всегда действительная модель, принятая к действию

Контроллер

[HttpGet] 
public ViewResult Add() 
{ 
    return View("Edit"); 
} 

[HttpPost] 
public ViewResult Add(Models.EditViewModel m) 
{ 
    if (ModelState.IsValid) 
    { 
     return View("Success"); 
    } 
    else 
    { 
     return View("Edit", m); 
    } 
} 

Модель:

public class EditViewModel 
{ 
    [Required] 
    [Display(Name = "JobTitle", ResourceType = typeof(DisplayNames))] 
    public string Title { get; set; } 

    [Required] 
    [Display(Name = "JobDescription", ResourceType = typeof(DisplayNames))] 
    public string Description { get; set; } 
} 

Посмотреть

@model MyWebSite.Models.EditViewModel 
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

@using (Html.BeginForm()) { 
    @Html.ValidationSummary(true, "Please correct the errors and try again.") 
    @Html.EditorForModel() 
    <input type="submit" value="Send" /> 
} 

Изобразительное искусство

<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script> 
<form action="/MyAction" method="post"><div class="editor-label"><label for="Title">Fun&#231;&#227;o</label></div> 
    <div class="editor-field"><input class="text-box single-line" data-val="true" data-val-required="Informe um valor para Fun&amp;#231;&amp;#227;o" id="Title" name="Title" type="text" value="" /> <span class="field-validation-valid" data-valmsg-for="Title" data-valmsg-replace="true"></span></div> 
    <div class="editor-label"><label for="Description">Descri&#231;&#227;o</label></div> 
    <div class="editor-field"><input class="text-box single-line" data-val="true" data-val-required="Informe um valor para Descri&amp;#231;&amp;#227;o" id="Description" name="Description" type="text" value="" /> <span class="field-validation-valid" data-valmsg-for="Description" data-valmsg-replace="true"></span></div> 
<input type="submit" value="Send" /> 
</form> 
+0

что делает ваш частичный вид выглядит? –

+0

Вы имеете в виду визуализированный HTML? Я только что сказал. – Eduardo

+0

no view htat используется '@ Html.EditorForModel()' –

ответ

1

Получено! Проблема была плохим маршрутом, который каждый раз создавал новую модель.

Изменено

routes.MapRoute(
    "Add", // Route name 
    "AnnounceJob", // URL with parameters 
    new { controller = "Jobs", action = "Add", job = new Models.EditViewModel() } // Parameter defaults 
); 

Для

routes.MapRoute(
    "Add", // Route name 
    "AnnounceJob", // URL with parameters 
    new { controller = "Jobs", action = "Add", job = UrlParameter.Optional } // Parameter defaults 
); 
+0

вам не нужен параметр. –

+0

Если это был ответ на ваше решение, вы должны отметить его как принятый ответ. –

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

  • Нет связанных вопросов^_^