我想使用相同的视图来创建和显示相同的对象。 如果该页面由get方法调用,它将显示一个用于编辑对象的表单。 如果该页面是通过post方法调用的,则会向您显示该对象的值。
我已经通过使用2个不同的视图来做到这一点。 并尝试使用模型状态。
我想要类似
@if(Method =="GET"){
// form for edit.
}
else{
// show data.
}
我尝试过
@if (ViewData.ModelState.IsValid)//this is always true
{
@using (Html.BeginForm(FormMethod.Post))
{
@Html.TextBoxFor(m => m.ProductID);
@Html.TextBoxFor(m => m.ProductName);
@Html.TextBoxFor(m => m.ProductDescription);
@Html.TextBoxFor(m => m.ProductPrice);
<input type="submit" value="registra"/>
}
}
else
{
<p>@Model.ProductID</p>
<p>@Model.ProductName</p>
<p>@Model.ProductDescription</p>
<p>@Model.ProductPrice</p>
}
如果在控制器中我使用了2个不同的视图,则可以很好地工作,但是我不能使用相同的视图,因为
答案 0 :(得分:0)
如果是post方法,则该模型将没有ID。您应该在控制器/ method级别
中进行检查