同一面加相同的自定控件--求可行法?
我在同一面上加了相同的自定上控件,分放在div中,可是我添加按的候,file老加在前面的div中.添加的代如下:
function addFile()
{
var str = ' <br/> <INPUT type= "file " size= "100px " name= "File "> '
document.getElementById( 'MyFile ').insertAdjacentHTML( "beforeEnd ",str)
}
</script>
我知道是我的候老找到前面的Myfile,所以在前面加.
在我想控制div的可性,我後面的按的候不描前面div面的items
.有甚方法?有甚可行的方案.
[解决办法]
页面上每一个元素(Element)的ID不应重复,你是怎样导致他们重复的?或者参阅INamingContainer接口。
[解决办法]
两个控件 id不可能都是MyFile吧
可以把自定义控件里面的按钮事件改为
button1.Attribute.Add( "onclick ", "addFile( ' "+this.ClientID+ " ') ");
function addFile(fileid)
{
var str = ' <br/> <INPUT type= "file " size= "100px " name= "File "> '
document.getElementById(fileid).insertAdjacentHTML( "beforeEnd ",str)
}
[解决办法]
id name tag
[解决办法]
在用户控件的设计界面中代码修改为:
<script language= "JavaScript " type= "text/javascript ">
function addFile(containerID)
{
var str = ' <br/> <INPUT type= "file " size= "100px " name= "File "> '
document.getElementById(containerID).insertAdjacentHTML( "beforeEnd ",str)
}
</script>
<div id= "dvfile " runat= "server " style= "width:100% ">
<table id= "tb " runat= "server ">
<tr>
<td> <input type= "button " value= "添加 " runat= "server " id= "AddFile " /> 如果需上附,添加按. </td>
</tr>
<tr>
<td >
<p id= " <%=this.ID%> MyFile "> <input type= "file " size= "100px " name= "File "/> </p>
</td>
</tr>
</table>
</div>
在用户控件的绑定代码的修改Page_Load(object sender, EventArgs e)
protected void Page_Load(object sender, EventArgs e)
{
this.AddFile.Attributes.Add( "onclick ", "addFile( ' " + this.ID + "MyFile '); ");
}