2015-03-09 5 views
-1

Я новичок в MVC, и я работаю в простой ФОРМЕ, но у меня есть проблема: по какой-то причине я хочу изменить связанную модель в операции контроллера и render вид, но этого не происходит.Render view with modified Model

Например:

public class Product{ 
    int id {get; set;} 
    string description {get; set;} 
} 

и методы контроллера:

[POST] 
public ActionResult Edite(Product p){ 
    p.description = "HELLOOOOOO!!!" 
    return View(P); 
} 

вид:

@model WebSite.Models.Product 

@{ 
    ViewBag.Title = "Modificar (Product)"; 
} 

<h2>Modificar (Product)</h2> 


@using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="form-horizontal"> 
     <h4></h4> 
     <hr /> 
     @Html.ValidationSummary(true, "", new { @class = "text-danger" }) 
     @Html.HiddenFor(model => model.Id) 

     <div class="form-group"> 
      @Html.LabelFor(model => model.description, htmlAttributes: new { @class = "control-label col-md-2" }) 
      <div class="col-md-10"> 
       @Html.EditorFor(model => model.description, new { htmlAttributes = new { @class = "form-control" } }) 
       @Html.ValidationMessageFor(model => model.description, "", new { @class = "text-danger" }) 
      </div> 
     </div> 

     <div class="form-group"> 
      <div class="col-md-offset-2 col-md-10"> 
       <input type="submit" value="Guardar" class="btn btn-default" /> 
      </div> 
     </div> 
    </div> 
} 

<div> 
    @Html.ActionLink("Volver a la Lista", "Index") 
</div> 

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

но в оказанном зрении, описание продукта, не является " Hellooooo !!!!».

Почему MVC визуализирует представление с введенными пользователем значениями, а не с новой моделью, которую я хочу?

+0

Вы должны показать нам 'Edite' вид. –

+0

Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

Ваша публикация модели для 'Edite()'. Если вы хотите вернуть новую модель, следуйте шаблону PRG и перенаправляйте метод GET и создайте новую модель. MVC привязывается к значениям ModelState при отправке и возврате представления (а не в свойства модели). –

ответ

0

может быть, это не самый лучший способ решить эту проблему, но этот пост решить мою проблему: Asp.net MVC ModelState.Clear