0

我有一个项目列表,我想用 2 个按钮来移动它们,下一个和上一个。

这是我的模型:

 public class Pedido 
{ 
    public int Pos { get; set; } 
    .................. 
}

控制器:

public ActionResult Index() 
    { 
        Pedido ped = new Pedido(); 
        ped.Pos = 2; 
        return View(ped); 
    } 

    [HttpPost] 
    public ActionResult Index(Pedido p) 
    { 
        p.Pos++; 
        return View(p); 
    }

和观点:

<form method="post"> 
@Html.Hidden("Pos", Model.Pos) 
@Model.Pos     
<input type="submit" value="Sig" />
</form>

当我运行应用程序时,视图显示“2”(@Html.Pos=2)和隐藏字段值 =2(确定)。我按下按钮信号。@Html.Pos=3 和隐藏值 =2 为什么?下次我在 httlpost 操作 p.Pos=2 中单击按钮参数“p”

怎么解决呢?

谢谢

4

2 回答 2

0

我解决它: ModelState.Remove("Pos")

于 2012-09-07T08:00:50.900 回答
0

您正在回发两个单独的字段,请尝试以下操作:

@Html.HiddenFor(m => m.Pos)
@Model.Pos

将您的隐藏输入正确绑定到您的Pos属性。

于 2012-09-07T08:03:14.440 回答