Если имя свойства Model соответствует имени параметра, переданного в Action, значение, отображаемое в представлении, является значением переданного параметра.
В приведенном ниже примере веб-страница будет отображать «красный» в качестве цвета, если URL-адрес / Car / Create? Color = red. Несмотря на то, что значение для модели "Синий".
Это ожидаемое поведение?
Модель:
namespace WebApplication1.Models
{
public class Car
{
public string Color { get; set; }
public Car(string color)
{
Color = color;
}
}
}
Контроллер:
public ActionResult Create(string color)
{
Car car = new Car("Blue");
return View(car);
}
Просмотр:
@model WebApplication1.Models.Car
@{
ViewData["Title"] = "Create";
}
<h1>Create</h1>
<h4>Car</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Color" class="control-label"></label>
<input asp-for="Color" class="form-control" />
<span asp-validation-for="Color" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
</div>