【问题标题】:How can i call other action method before my index method in Asp.net mvc?如何在 Asp.net mvc 中的索引方法之前调用其他操作方法?
【发布时间】:2023-03-10 02:47:01
【问题描述】:

我正在使用 asp.net mvc 开发 Web 应用程序。 我有以下要求。

  • 我的 Index 方法为我提供了主页上的产品列表。
  • 我需要根据当前浏览器分辨率获取页面大小。 (即如果 1600*900 页面大小为 12)
  • 为此,我正在调用一种操作方法,并从其视图中通过使用 JQuery 获取内部宽度来使用 ajax 调用设置页面大小,并且该 ajax 调用将页面大小保存在会话中。
  • 有什么方法可以在 Index 方法之前调用这个视图吗?然后在 Index 方法上再次重定向?

【问题讨论】:

  • 您可以为您的控制器创建一个构造函数,或者为您在每个控制器中继承的应用程序控制器。

标签: jquery ajax asp.net-mvc


【解决方案1】:

它被称为请求-响应周期是有原因的。你说的基本上是在做request-response-response,这是不可能的。

您可以做的是在您的实际操作中检查是否存在具有浏览器分辨率的 cookie。如果未设置,则使用 AJAX 调用重定向到操作。但是,您不能为此使用 AJAX。相反,在那里,使用浏览器分辨率设置一个 cookie,然后将location.href 设置为用户应该首先访问的实际 URL。这基本上会导致另一个重定向到实际操作,现在将看到 cookie。

但我应该指出,这非常复杂,实际上并不有效。如果用户在事后调整浏览器的大小怎么办?每页显示的项目数不应该取决于屏幕分辨率。如果您想呈现更好的体验,请使用 CSS 媒体查询来自定义项目的显示分辨率,这样每个人都能获得相同的功能,只是形式不同,并针对他们的显示进行了优化。

【讨论】:

  • 感谢您的回复。这对我很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-12
  • 1970-01-01
  • 2022-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
相关资源
最近更新 更多