任何将 jQuery 与 .NET Web 应用程序一起使用的人很可能会遇到问题,即通过 jQuery 在客户端上所做的更改在回发期间不一定会持续到 Web 服务器(因为视图状态、安全性等)。
我的场景: 我有一个带有两个不同 ASP.NET 下拉列表的 GridView。其中一个下拉列表在 page_load 期间填充,而另一个则留空。留空的内容是这样填充的:当用户在第一个下拉列表中选择一个项目时,它会触发一个事件,该事件使用 jQuery ajax 从 Web 服务器检索数据,然后将该数据返回给客户端并填充到第二个下拉菜单。这一切都是基本的,并且易于启动。我喜欢它。
但是,我不喜欢的是,当用户在第二个下拉列表中选择一个项目(在它被 jQuery ajax 调用填充之后)并单击“保存”按钮(这会导致回发)然后下拉选择出现在服务器端为空(这实际上意味着服务器不知道下拉菜单中有项目或用户在其中选择了项目)。显然,这与视图状态中的下拉列表为空这一事实有关,我完全理解这背后的原因,但尝试将 jQuery 与 .NET 混合使用让我非常沮丧。
所以我的问题是:如何使用 jquery 填充 ASP.NET 下拉列表并让其中的项目通过回发保持不变?
谢谢您的帮助!