嘿 ASP.NET profenssionals的简单问题: 我有一些动态生成的文本框连续。在这一行中也是一个带有事件处理程序“onclick”的图像。我将在文本框和图像之间创建一个关系。 我点击图片,选择一个值,然后填写文本框。
目前我的控件有以下动态生成的ID:
按钮:
ct100_cph_Detail_rpFields_ct109_rpCell_ct100_cbf_bed1_item_sym
文本框
ct100_cph_Detail_rpFields_ct109_rpCell_ct100_tb_bed1
这两个控件必须处于关系中。对我来说最好的解决方案是JavaScript,因为我没有太多的ASP.NET技能..
感谢您的帮助! : - )
答案 0 :(得分:0)
如果生成的ID始终遵循此方案,则可以通过获取按钮/图像的ID来访问文本框,并将此ID(_cbf_bed1_item_sym)中的非唯一部分替换为文本框的非唯一部分 - ID(_tb_bed1)
示例:
<input type="button" value="click"
id="ct100_cph_Detail_rpFields_ct109_rpCell_ct100_cbf_bed1_item_sym"
onclick="document.getElementById(this.id.replace(/_cbf_bed1_item_sym$/,'_tb_bed1')).value='gotcha'"/>
<input type="text"
id="ct100_cph_Detail_rpFields_ct109_rpCell_ct100_tb_bed1"/>
可能还有其他方法,但是要说出关于它们的任何内容,你必须显示这样一行的标记(需要查看这些元素与它们在文档树中的位置之间的关系)
答案 1 :(得分:0)
“关系”是指他们都在同一行。
了Serverside:
TableRow.Attributes.Add("onclick", "rowClick(event);")
客户机侧:
function rowClick(e) {
e = e || event;
var target, img, textbox, row;
target = e.target || e.srcElement;
if (target.tagName == 'IMG') {
img = target;
while(target.tagName != 'TR') {
target = target.parentNode;
}
row = target;
textbox = row.getElementsByTagName('input')[0];
textbox.value = img.src;
}
}