重命名动态创建的控件

时间:2016-09-01 14:28:21

标签: c# asp.net

在我的项目中,我根据用户输入动态创建面板。每个面板都有一个“删除按钮”。单击按钮时,应移除面板。但是为了隐藏它/或删除面板我需要自动命名的button-id,我无法重命名。

input type="submit" name="ctl00$MainContent$ctl04" value="Copy PDF and Post Script files!"
usesubmitbehavior="false" EnableViewState="true" type="Button" id="645" name="645" />



addButtonCopyFiles[i].Attributes["id"] = templateId[i].Text;
addButtonCopyFiles[i].Attributes["name"] = templateId[i].Text;

这是我命名它们的方式,但名称不会被替换。我甚至删除了“runat”,“server”属性。

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

ID的{​​{1}}属性可以在添加到页面之前显式设置。

替换此代码:

Control

使用此代码:

addButtonCopyFiles[i].Attributes["id"] = templateId[i].Text; 
addButtonCopyFiles[i].Attributes["name"] = templateId[i].Text; 
eachPanel[i].Controls.Add(addButtonCopyFiles[i]);

答案 1 :(得分:0)

在动态创建中,将面板css类设置为包含与按钮相同的动态ID。你没有说你是在删除面板服务器还是客户端,但我假设隐藏它,客户端就足够了。

addButtonCopyFiles[i].Attributes["id"] = templateId[i].Text;
addButtonCopyFiles[i].Attributes["name"] = templateId[i].Text;

dynamicPanel.CssClass = "dynamicPanel_" + templateId[i].Text;

//jQuery button click event
function removePanel(id){
    $(".dynamicPanel_" + id).hide();
}