我正在重新编写一个 ASP.NET 应用程序并注意到行为上的不同......
在我的 Page_Load 事件中,我有一些代码,例如:
string id = Request["id"]
它从 URL 中获取 id 参数。在页面加载(即 HTTP GET)时,这在两个版本中都按预期工作。我还有一个按钮 onclick 事件处理程序。显然,这对服务器执行 POST,并且还调用 Page_Load 处理程序。不同的是,在应用程序的原始版本中,id 是从请求中成功加载的。在新版本的应用程序中,id 返回为 null。我发现我需要使用 Request.Params["id"] 代替,但我完全不明白为什么 Request["id"] 在一个应用程序中适用于 POST 请求而不适用于另一个。
应用程序之间的唯一区别是第一个创建为文件 -> 新网站,第二个创建为文件 -> 新 Web 应用程序。我认为这是导致行为差异的原因,但我想知道为什么会出现这种细微的差异,以及两者之间是否还有其他我应该注意的地方。
非常感谢任何建议。