2014-01-13 42 views
0

我有這個FileUpload控件,它會自動添加一個FileUpload控件。但我需要它也創建一個RegularExpressionValidator。不知道我該如何做到這一點。動態添加RegularExpressionValidator C#

任何想法?

<script type = "text/javascript"> 
var counter = 0; 
function AddFileUpload() { 
var div = document.createElement('DIV'); 
div.innerHTML = '<input id="file' + counter + '" name = "file' + counter + 
'" type="file" />' + 
    '<input id="Button' + counter + '" type="button" ' + 
    'value="Remove" onclick = "RemoveFileUpload(this)" />'; 
    document.getElementById("FileUploadContainer").appendChild(div); 
    counter++; 
} 
function RemoveFileUpload(div) { 
    document.getElementById("FileUploadContainer").removeChild(div.parentNode); 
} 
</script> 


<div id="FileUploadContainer"> 
    <asp:FileUpload ID="FileUpload1" runat="server" /> 

    <!--FileUpload Controls will be added here --> 

</div>  
<br /> 

<input id="Button1" onclick="AddFileUpload()" style="height: 27px; width: 150px;" tabindex="25" type="button" value="Add More Attachments" /> 

<asp:RegularExpressionValidator ID="rexp" runat="server" ControlToValidate="FileUpload1" 
ErrorMessage="Only .pdf, .jpg" 
ValidationExpression="(.*\.([Pp][Dd][Ff])|.*\.([Jj][Pp][Gg])$)"> 
</asp:RegularExpressionValidator> 

回答

0

也許你可以試試這個方法:

  1. 始終與對照一起啓動正則表達式驗證頁面。
  2. 通過javascript禁用正則表達式驗證,並且如果您不需要UI中的控件 ,則將控件的顯示設置爲無。
  3. 通過javascript使正則表達式驗證成爲可能,並且如果在UI中需要控制存在 ,則會出現控件。

很好的參考閱讀本: http://msdn.microsoft.com/en-us/library/aa479045.aspx