2012-12-21 82 views
1

在发布这个问题之前,我已经完成了我的研究,但我找不到任何有用的东西。我不知道是否有可能在jQuery的帮助下创建asp.net服务器控件。我有一个在服务器上运行的上传控件输入,并且在任何时候点击某个特定按钮时,我都使用JavaScript代码创建新的上传控件输入。但我需要创建一个新的RegularExpressionValidator来控制每个新的上传控件。这可以实现而不是使用多重上传控制和我的页面上的RegularExpressionValidator。仔细研究我迄今为止所做的工作。使用jquery创建一个asp.net服务器控件

function addFileUploadBox() { 
if (!document.getElementById || !document.createElement) 
    return false; 

var uploadArea = document.getElementById("upload-area"); 
var count = uploadArea.getElementsByTagName("input").length; 

    if (!uploadArea) 
     return; 

    var newLine = document.createElement("br"); 
    uploadArea.appendChild(newLine); 

    var newUploadBox = document.createElement("input"); 

    // Set up the new input for file uploads 
    newUploadBox.type = "file"; 
    newUploadBox.size = "20"; 

    // The new box needs a name and an ID 
    if (!addFileUploadBox.lastAssignedId) 
     addFileUploadBox.lastAssignedId = 100; 

    newUploadBox.setAttribute("id", "dynamic" + addFileUploadBox.lastAssignedId); 
    newUploadBox.setAttribute("name", "dynamic:" + addFileUploadBox.lastAssignedId); 
    newUploadBox.setAttribute("runat", "server"); 
    uploadArea.appendChild(newUploadBox); 
    $("<asp:RegularExpressionValidator ID='regular" + addFileUploadBox.lastAssignedId + "' ValidationExpression='(.*?)\.(jpg|jpeg|png|gif|JPG)$' runat='server' ErrorMessage='Invalid file' ControlToValidate='dynamic" + addFileUploadBox.lastAssignedId + "' ForeColor='Red'></asp:RegularExpressionValidator>").insertAfter("#dynamic" + addFileUploadBox.lastAssignedId); 
    addFileUploadBox.lastAssignedId++; 
} 

回答

4

这是不可能的。

原因: Asp.net从xhtml转换到它的输出服务器端。

您通过jquery或javascript完成的任何操作都将在客户端完成。服务器对你刚刚尝试创建的验证器一无所知。

+0

谢谢男人......我以为这么多。 – Oluwafemi

相关问题