0

我正在开发一个主要使用 AJAX 来保存和检索数据的网站,以避免回发(或至少是完整的回发)。我在代码隐藏中“准备”页面,在客户端我使用 JQ 和 Javascript。当我想保存数据时,我序列化容器中的元素(使用 JQ),然后 AJAX 发布以将数据发送到 WebMethod。这运行良好,但我必须处理长名称元素(“ctl00$MainContent$grdEmployees$ctl03$ddlRole”)。有时很难从 NameValueColletion 中检索数据,因为可以从不同的页面调用相同的 WebMethod,因此元素的“名称”不一样,因为控件可能嵌套在其他容器中。

有没有办法为 ASP.NET 控件设置自定义名称以避免此问题?或其他方式来实现这种行为?

此致。

4

1 回答 1

0

您是否尝试过使用 .NET 4.5 中的 ClientIDMode="Static"。

正如您所指出的,当呈现页面时,所有 ID 都会发生变化。但是,您将 ClientIDMode 设置为静态,它将使用您为控件本身设置的 ID 呈现。这样您就可以使用控件的 ID 而不是生成的 ID。如果您想了解更多信息,请点击 MSDNA 关于 ClientIDMode

http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode(v=vs.110).aspx

于 2014-05-13T22:26:23.733 回答