gpt4 book ai didi

asp.net - 在整个 MVC 应用程序中保留布局文件中选定的控件值

转载 作者:行者123 更新时间:2023-12-02 18:25:14 25 4
gpt4 key购买 nike

我有一个 Layout 页面,它使用 Telerik 的 ComboBox 设置应用程序中的项目列表,如图所示。 组合框允许用户选择他/她想要从事的项目。

sample application

做出选择后,我希望应用程序中的所有后续操作都应与所选项目相对应。我可以将项目信息保留在 Session 中,但是如果用户选择在新选项卡中打开此信息,并且在第二个选项卡中用户切换到不同的项目并返回到第一个选项卡并刷新页面,则 session 信息(项目)将会发生变化,这将在我的应用程序中产生问题。

那么,对我来说,保存 Layout.cshtml 控件的项目信息的最佳方法是什么,以便我可以在我的应用程序中使用它,以便呈现的每个页面都使用当前/正确的选定的值。

我想到了

Tempdata/QueryStrings 但我不知道它们是否是解决我的问题的合理方案。如果是,那么我应该如何通用地使用它们(特别是querystrings)而不使我的解决方案复杂化?

localStroagesessionStorage 似乎也是相关的解决方案,但是在用户从现有页面打开新选项卡的情况下如何使用它们?项目# 将如何保留在新打开的页面/窗口/选项卡上?

最佳答案

如果您确保在进行选择时网址发生变化,这样的事情是可以实现的。

假设您在下拉框中选择项目 C-1379,此时您的 url 可能会变为 http://localhost:58692/pid=C-1379 .

从现在开始,您的页面可以加载所需的数据,从查询字符串中检索所需的信息。不要使用 session 或本地存储或类似的东西,因为它不起作用。

这样,您仍然可以在布局页面中加载项目列表,并且可以根据查询字符串值选择一个项目,然后通过对后端的 api 调用加载一些默认值。

如果您从现在开始的所有工作都是基于 api 调用完成的,例如,您更改了一些属性,然后发出 POST 来更新所述详细信息,那么这也很容易完成。

telerik 控件通常有一些与之关联的事件。您正在使用的应该有一个onChange或类似的东西。您可以在此处使用所选项目的值更新查询字符串,然后您可以继续执行您需要的操作

关于asp.net - 在整个 MVC 应用程序中保留布局文件中选定的控件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51741631/

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