使用 AJAX 响应填充 DropDownList 并使用 ASP.NET WebForms 在服务器上获取所选值

发布于 2024-09-14 05:31:58 字数 358 浏览 2 评论 0原文

我在这个简单的场景中遇到了麻烦。

首先,我使用 ASP.NET WebForms。

在用户在第一个下拉列表(选择)上选择一个值后,我正在使用 jQuery 进行 ajax 调用。此调用将返回一个值数组,我将用它填充第二个 DropDownList。回发后,DropDownList 当然没有任何项目。

我尝试在页面的 Init 事件中重新填充 DropDownList,但视图状态尚未处理,我需要第一个 DropDownList 的选定值才能获取正确的值。

我知道我可能可以通过将下拉列表的选定值放入隐藏字段并稍后在页面周期中将其取回来破解某些内容,但肯定有一些东西我丢失了?更简单的方法(请不要使用 UpdatePanel 解决方案)。

I'm having trouble with this simple scenario.

First, I'm using ASP.NET WebForms.

I'm making an ajax call using jQuery after the user select a value on a first dropdown (select). This call will return me an array of values with which I fill a second DropDownList. After a postback, of course the DropDownList has no items.

I have tried to re-fill the DropDownList in the Init event of the page, but the viewstate has not been processed and I need the selected value of the first DropDownList to get the correct values.

I know that I could probably hack something with putting the selected value of the dropdown inside an hidden field and get it back later in the page cycle, but surely there is something I'm missing? A more easy way (no UpdatePanel solution please).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情独悲 2024-09-21 05:31:58

使用 JavaScript/AJAX

您可以使用 PageMethods 获取第二个列表的数据。

页面方法是具有 [WebMethod] 属性的静态函数。例如:

  [WebMethod]
  public static string GetHello()
  {
    return "hello";
  }

要了解如何执行此操作,您应该阅读页面 using-jquery-to-directly-call-aspnet-ajax-page-methods

不使用 Ajax

  • 启用第一个列表中的 CausesPostBack 属性。
  • 在第一个下拉列表的 SelectedIndexChanged 事件中填充第二个下拉列表。

With JavaScript/AJAX

You can use PageMethods to get the Data for the second list.

Page Methods are static functions with the [WebMethod] attribute. eg:

  [WebMethod]
  public static string GetHello()
  {
    return "hello";
  }

To see how to do this, you should read the page using-jquery-to-directly-call-aspnet-ajax-page-methods

Without Ajax

  • Enable the CausesPostBack property in the first list.
  • Fill the second drop down list in the SelectedIndexChanged event of the first.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文