gpt4 book ai didi

c# - MVC 下一步按钮功能

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:39 25 4
gpt4 key购买 nike

我真的是 MVC 的新手,我仍然有 WPF 的心态。我有一个 Controller ,它返回一个以 ID 作为参数的模型。

我想通过在 Razor View 中按下一个按钮来增加该参数,并重新加载具有该新 ID 的另一个模型。

我试过类似的东西:

    public ActionResult Game() {        

SequenceViewModel model = new SequenceViewModel(CardModelList, SelectedSequenceID);

return View(model);
}

然后对该按钮执行另一个操作:

   public ActionResult Press()
{
SelectedSequenceID ++;
return RedirectToAction("Game", "Game");
}

即使我的 SelectedSequenceID 接缝设置正常,模型仍然具有旧值。

我的做法完全错误吗?

谢谢,尤利亚

最佳答案

您不想在 Controller 中递增 ID,只需在 View 中链接到下一个 ID!

MVC 比 webforms 更接近 HTTP 理想,而且 HTTP 是无状态的,所以你需要假设状态在页面请求周期之间不被保留(好的,你可以使用 session 、cookie 等来做到这一点,但仅保留绝对必要的东西!)

请记住,默认路由将从 url/controller/action/id 中获取参数“id”,因此示例 Controller 可能看起来像

public class GamesController : Controller
{
// eg. /Games/Game/1
public ActionResult Game(int id){
var SequenceModel = SequenceRepository.GetSequenceById(id); //some way of getting your model from the ID
return View(SequenceModel);
}
}

在 View 中您需要添加导航链接

@Html.ActionLink("Next", "Game", new {@id = Model.id + 1})

或者作为一个按钮:

<input type="button" value="Next" onclick="@Html.Raw("location.href='" + Url.Action("Next", new {@id = Model.id + 1}) + "';")" />

关于c# - MVC 下一步按钮功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22813599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com