我正在编写一个 ASP.NET 应用程序,其中由用户客户端创建对象表。 我设想他们单击“添加项目”,然后在表格中创建一个新的“行”,其中包含文本框供他们输入内容。
我可以通过使用 jQuery 添加 HTML 来做到这一点。问题在于,用户要填写的行中的字段之一需要是颜色选择器。
我的颜色选择器有一个 ASP.NET Web 用户控件。如何将它的实例添加到 html 行中的页面?或者我在这里咆哮错误的树 - 有没有更好的方法来封装我的颜色选择器的功能,以便它可以放在每一行上?
最佳答案
不,您不能将服务器端 asp.net 控件添加到已使用客户端技术(又名 Javascript)呈现的页面
两个选项:
- 首先,切换到使用客户端颜色选择器。然后,您可以通过向表单动态添加隐藏字段来将其中的数据包含在回发中。
- 其次,拥有一个包含颜色选择器的编辑面板。然后,用户选择要编辑的行,这会使用当前值等更新编辑面板。值存储在您向表动态添加行时创建的隐藏字段中,并包含在回发中
在没有看到您的用户界面的情况下,我无法评论哪一个最好。 asp.net 控件可能看起来更好,但可能很难融入您的设计。纯客户端解决方案可能更适合您的设计师,但可能看起来不太好。您还需要考虑如果/当用户添加很多行时会发生什么(这可能是 10、50 或 100,具体取决于您的应用/代码)。许多动态添加的控件(第一个解决方案)可能会削弱页面的性能。
关于asp.net - 使用 jQuery 将 ASP.NET 控件添加到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1672503/