Javascript 服务器端数据在客户端可用

Javascript 服务器端数据在客户端可用,javascript,asp.net,performance,client-side,server-side,Javascript,Asp.net,Performance,Client Side,Server Side,我想做的是根据页面上的其他下拉列表更改下拉列表选项。我所做的是在隐藏的文本框中写下所有的可能性。这是可行的,但是当有很多选择时,页面会变慢 有更好的方法吗 感谢您抽出时间最好的方法是使用AJAX。总之,您需要: 编写一个服务器端脚本(可能是ashx),返回依赖于某个变量的下拉列表的相关结果 使用JavaScript(或类似jQuery的库)对ashx页面进行AJAX调用。此调用需要通过POST或GET将定义变量传递给服务器 将此AJAX调用附加到选择框的更改事件,以便在更改时可以更新其他框 AJ

我想做的是根据页面上的其他下拉列表更改下拉列表选项。我所做的是在隐藏的文本框中写下所有的可能性。这是可行的,但是当有很多选择时,页面会变慢

有更好的方法吗


感谢您抽出时间

最好的方法是使用AJAX。总之,您需要:

  • 编写一个服务器端脚本(可能是ashx),返回依赖于某个变量的下拉列表的相关结果
  • 使用JavaScript(或类似jQuery的库)对ashx页面进行AJAX调用。此调用需要通过POST或GET将定义变量传递给服务器
  • 将此AJAX调用附加到选择框的更改事件,以便在更改时可以更新其他框
  • AJAX调用完成后,您将需要一个JavaScript函数来整理返回的数据。这些数据可以是添加到页面的简单HTML,也可以是需要格式化的更复杂的JSON对象。选择权在你。但是这种格式和响应需要用JavaScript编写

  • 最好的方法是使用AJAX。总之,您需要:

  • 编写一个服务器端脚本(可能是ashx),返回依赖于某个变量的下拉列表的相关结果
  • 使用JavaScript(或类似jQuery的库)对ashx页面进行AJAX调用。此调用需要通过POST或GET将定义变量传递给服务器
  • 将此AJAX调用附加到选择框的更改事件,以便在更改时可以更新其他框
  • AJAX调用完成后,您将需要一个JavaScript函数来整理返回的数据。这些数据可以是添加到页面的简单HTML,也可以是需要格式化的更复杂的JSON对象。选择权在你。但是这种格式和响应需要用JavaScript编写

  • 它可以使用一些可用的ASP.NETAjax技术来完成。如果将下拉列表框放置在
    UpdatePanel
    中,并将其设置为异步回发,则可以使其在选择时显示为刷新

    因为只有
    UpdatePanel
    中的代码被刷新,所以加载结果的速度要快得多


    有关使用updatepanel和两个下拉列表的示例,请参阅。

    可以使用一些可用的ASP.Net AJAX技术来完成。如果将下拉列表框放置在
    UpdatePanel
    中,并将其设置为异步回发,则可以使其在选择时显示为刷新

    因为只有
    UpdatePanel
    中的代码被刷新,所以加载结果的速度要快得多


    请参阅使用updatepanel和几个下拉列表的一个很好的示例。

    如前所述,AJAX将是这方面的最终解决方案。在上,有一个很好的示例提供了一个可以理解的解释。稍微使用Web服务可能会引起一些停顿,但仍然可以很好地解释您正在寻找的内容。

    正如所说的,AJAX将是解决此问题的最终解决方案。在上,有一个很好的示例提供了一个可以理解的解释。稍微使用Web服务可能会引起一些停顿,但仍然可以很好地解释您要查找的内容。

    我将介绍一种可能的场景

  • 首次加载页面时,将显示一个“默认”选项列表。这是使用服务器端逻辑完成的
  • 当用户在客户端使用Javascript单击下拉列表时,您计算其他人的行为,并相应地操作他们
  • 如果您的列表中有一个需要新的信息,而这些信息在客户端是不可用的,那么您可以使用AJAX轮询服务器以获取这些信息
  • (可选)如果不希望每次用户单击下拉列表时都轮询服务器,则可以在客户端缓存新信息

  • 我将介绍一种可能的情况

  • 首次加载页面时,将显示一个“默认”选项列表。这是使用服务器端逻辑完成的
  • 当用户在客户端使用Javascript单击下拉列表时,您计算其他人的行为,并相应地操作他们
  • 如果您的列表中有一个需要新的信息,而这些信息在客户端是不可用的,那么您可以使用AJAX轮询服务器以获取这些信息
  • (可选)如果不希望每次用户单击下拉列表时都轮询服务器,则可以在客户端缓存新信息

  • 正如所有其他人所指出的那样,AJAX是一种可行的方法,您可以使用其他人已经编写的代码来节省自己的时间,例如:


    这一条现在已经很老了,但至少可以向您展示您需要的东西。

    正如所有其他人所指出的,AJAX是一种方式,您可以使用其他人已经编写的代码来节省自己的时间,例如:


    这一个现在已经很老了,但至少可以告诉你你需要什么。

    把选择放在“文本框”中的另一个选择是只创建一堆隐藏的
    列表,并在任何给定时间仅显示所需的代码。除非真的有很多选择,否则在不同的选择之间切换不会花费很长时间。将选择放在“文本框”中的另一种方法是创建一组隐藏的
    列表,并在任何给定时间仅显示所需的代码。除非它们真的很多,否则在不同的选择之间切换应该不会花费很长时间。