Asp classic 返回后不保留选定值的下拉列表

Asp classic 返回后不保留选定值的下拉列表,asp-classic,postback,Asp Classic,Postback,我使用的是经典asp,我有一个下拉列表,用户选择后按submit。按“提交”后,下拉列表将返回默认值,而不是所选内容。是否仍然可以在回发之间保持下拉列表的状态,而不是返回默认状态?如果需要,可以发布代码示例。 谢谢 您可以使用javascript和纯HTML来实现这一点: HTML: 创建一个隐藏字段 Javascript: 提交时,将所选值保留在隐藏变量中 页面加载 循环遍历下拉值,并使用隐藏变量设置选定值 在中还有一个变体可用。您必须根据用户发布的值在服务器端“选择它” <select

我使用的是经典asp,我有一个下拉列表,用户选择后按submit。按“提交”后,下拉列表将返回默认值,而不是所选内容。是否仍然可以在回发之间保持下拉列表的状态,而不是返回默认状态?如果需要,可以发布代码示例。
谢谢

您可以使用javascript和纯HTML来实现这一点: HTML: 创建一个隐藏字段

Javascript: 提交时,将所选值保留在隐藏变量中

页面加载 循环遍历下拉值,并使用隐藏变量设置选定值

中还有一个变体可用。您必须根据用户发布的值在服务器端“选择它”

<select id="cars">
  <option value="volvo" 
      <%
      if request.form("cars") = "volvo" then 
          response.write("selected") 
      end if %>
      >Volvo</option>
  <option value="Saab" 
      <%
      if request.form("cars") = "Saab" then 
          response.write("selected") 
      end if %>
      >Saab</option>
  <option value="Mercedes" 
      <%
      if request.form("cars") = "Mercedes" then 
          response.write("selected") 
      end if %>
      >Mercedes</option>
  <option value="Audi" <%
      if request.form("cars") = "Audi" then 
          response.write("selected") 
      end if %>
      >Audi</option>
</select>

沃尔沃汽车
萨博
梅赛德斯
奥迪
当然,您可能希望自行开发自己的函数,以避免所有这些陈词滥调

<% 
sub option(value, data, select_id) 
    Response.Write("<option value=""" & value & """)
    if request.form(select_id) = value then 
        Response.Write("selected") 
    end if
    Response.Write(">" & data & "</option>")
end sub
%>
' (...)
<select id="cars">
    <% option("volvo", "Volvo", "cars") %>
    <% option("Saab", "Saab", "cars") %>
    <% option("Mercedes", "Mercedes", "cars") %>
    <% option("Audi", "Audi", "cars") %>
</select>
“&data&”)
端接头
%>
' (...)

如果您向函数传递一个空白的
select\u id
,它将不关心在回发时尝试选择
select
的所选项。

我可以知道为什么会被否决,并且没有任何原因解释吗?我没有否决它,但可能是因为在OP problem只需要一个服务器端解决方案就可以将
选择的发布值考虑在内。不客气,我们都是来帮助/学习的。很高兴我能澄清。我使用了这个功能,它正是我所需要的,工作得非常好!谢谢!!@Bmw:记得根据您的需要调整它,因为可能有一些事情我没有考虑进去帐户(例如,如果您使用GET而不是POST)以保持其简短。很高兴它有所帮助。