gpt4 book ai didi

c# - 如何检测我的页面是否是回发的结果

转载 作者:太空狗 更新时间:2023-10-29 20:47:39 24 4
gpt4 key购买 nike

我在 MVC3 应用程序上有一个组合框。选择新项目后,它会按我的意愿进行回发。那里一切都好。在此过程中,我弹出一个查询字符串并在页面加载时读取它。当页面刷新时,它会读取查询字符串并根据需要设置其他控件。

但是,我需要检测页面何时重新加载,这是回传的结果,而不是第一次加载页面。这是因为当页面最初加载时,一切都乱七八糟,直到有人从组合框中选择一些东西。

但是,网站的新用户不会知道这一点,只会看到一团糟。

我知道 MVC3 应用程序没有与 ASP.Net 相同的 isPostback,并且由于我不明白的各种原因,我知道它在某种程度上不被认为是“可接受的”。

但是,我只是想知道是否有一种 100% 可靠的方法来区分页面首次加载和回发,就像在 ASP.Net 中所做的一样。如果有这样的方法,它是什么,我该如何实现。

我看到其他帖子是这样做的:

    public bool IsPostBack
{
get
{
return ViewBag.IsPostBack = (Request.HttpMethod == "POST");
}
}

但我在其他地方读到这总是正确的。因此,如果这始终为真,那么在第一次加载时也会为真,因此,我无法可靠地判断它是否是回发。我当然知道这是某种回发。但如果它是第一次加载则不是。

谁能帮我解答这个问题。此外,我使用的是 Razor View 引擎,而不是标准的 aspx View 引擎。

最佳答案

在 MVC 中,您通常对 GET 和 POST 有不同的操作:

[HttpGet] // Actions are GET by default, so you can omit this
public ActionResult YourAction(int id)
{
// GET
}

[HttpPost]
public ActionResult YourAction(YourModel model)
{
// POST
}

如果您遵循此模式,则无需担心类似 Page.IsPostBack 的属性。

关于c# - 如何检测我的页面是否是回发的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11316053/

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