2009-11-04 66 views
2

我在写一个ASP.NET应用程序,其中一个对象表由用户客户端创建。 我设想他们点击“添加项目”,并在表格中创建一个新的“行”,并在文本框中输入他们的东西。将ASP.NET控件添加到使用jQuery的页面

我可以通过在jQuery中添加HTML来做到这一点。问题在于用户填写的行中的一个字段需要是颜色选择器。

我有我的颜色选择器的ASP.NET Web用户控件。如何将它的一个实例添加到我的html行中的页面?或者我在这里咆哮错误的树 - 是否有更好的方式来封装我的颜色选择器的功能,以便它可以放在每一行?

回答

2

不,你不能在服务器端asp.net控件添加到已使用客户端技术(又称JavaScript)

两个选项一个页面渲染:

  1. 首先,切换到使用客户端颜色选择器。然后,您可以通过向您的表单中动态添加隐藏字段,从而将这些数据包含在回发中。
  2. 其次,有一个单独的编辑面板,其中包括您的颜色选择器。用户然后选择一行进行编辑,用当前值更新编辑面板等。当您动态地将行添加到您的表中并包含在隐藏字段中时,值将被存储在隐藏字段中

没有看到您的用户界面,我不能评论哪个是最好的。 asp.net控件可能看起来更漂亮,但可能很难融入到您的设计中。纯粹的客户端解决方案可能更适合您的设计师,但可能看起来不太好。您还需要考虑如果/当用户添加批次行(根据您的应用/代码,这可能是10,50或100)会发生什么情况。许多动态添加的控件(第一种解决方案)可能会削弱页面的性能。

0

您不能使用jQuery添加ASP.NET控件(至少不太容易)。但是,您可以在需要将颜色选择器添加到行时执行回发。

0

在前面的代码中,声明性地定义了新行应该是什么样子的模板,然后使用css隐藏它。

当用户点击'添加新按钮'时,选择并隐藏隐藏模板的内容并将其写入目标div。只要确保在执行此操作时删除隐藏的CSS。

你会的,当然,仅仅是复制你的服务器控件的HTML rednered,但htis apporach可能会给你做什么,你需要

1

的快速简便的方法我不知道是什么版本的ASP你正在使用的.NET,一种可行的方法是将你的用户控件变成custom control。然后您需要实现ICallbackEventHandler(在asp.net上执行Ajax的第一种方法);肯定它有更多的工作,但它确实给你一个很好的控制水平。您也可以尝试this

相关问题