Ajax 做控件的动态生成。。。

现有自定义用户控件(包含一个Lable、一个TextBox、一个DropDownList...)点击添加按钮后,在其下生成一个同样的UserControl但要有唯一的ID... 现有自定义用户控件(包含一个Lable、一个TextBox、一个DropDownList...)点击添加按钮后,在其下生成一个同样的UserControl
但要有唯一的ID,用js的appendnote不能生成唯一的id。。。
问题补充:1.只是想动态生成usercontrol内的控件,也可以不用自定义控件,但生成后要遍历每个生成的行,有没有其他办法?
展开
 我来答
lujiaxing
2008-12-29 · TA获得超过672个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:231万
展开全部
可以生成随机ID嘛
var randomid=Math.random().toString().replace('.','');

当然啦
还可以更好一些, 例如混合当前时间数等等, 可以让出现重复ID的可能性更小

我给你个方案:
所有生成项的点击事件什么的都指向一个函数
所有生成项全部放置在一个容器内. 什么都行. 最好是只出现一次的标签
可以自己胡编一个标签, 例如<RuntimeControls></RuntimeControls>
在那个函数里用event.srcElement获得用户在哪个控件上触发了事件.
顺着那个srcElement有的是方法可以获得什么标签阿等等的东西.

(例如, 点击按钮叫"button_282874761", 对应生成的文本框叫"txtbox_282874761" 就可以很轻松的由按钮找到文本框)

最后要取得所有数据的时候, 用document.getElementsByTagName获得
被动态生成的控件的容器 (例如 document.getElementsByTagName('E491')[0])
然后遍历其之内所有的控件, 取出数据.
wiwimo
2008-12-29 · TA获得超过261个赞
知道答主
回答量:167
采纳率:0%
帮助的人:84.6万
展开全部
把这个UserControl 做成DLL控件库
在这个aspx的页面做反射,按添加按钮就反射出一个新的UserControl
然后对他的ID和其他的属性做设置,最后把他呈现到这个aspx上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式