如何保持下拉列表从一个视图到另一个视图



在我的控制器中,我有Get和Post的Create操作。

在Get操作中,我加载下拉数据列表并将其显示在视图中,同时只保留所选项目的值。然后我点击提交并调用Create的Post操作,逻辑就完成了。

但当我调用Create操作,而模型无效时,我会返回Get。问题就从这里开始了,因为我的下拉数据已经不存在了。因此,当模型无效时,我可以在"创建"操作中再次从数据库加载下拉数据,但我的想法是保留并移动下拉数据列表,从"获取"到"发布"操作,就像我有时使用";隐藏输入id";。但我不知道什么html标签或助手用于数据列表。

类似于:

<Select type="hidden" value="@Model.DataList">

我认为在get和post操作之间转移DropDownlist元素不是正确的方法。它可能会使服务器调用时间过长,尤其是在有多个元素的情况下。

我建议您为DropDownList项目创建一个缓存(例如会话缓存(,并在获取操作期间使用它。使用此系统,当您有一个无效的模型时,get将在不调用数据库的情况下重新加载数据。

最新更新