使用jquery创建asp.net服务器控件

时间:2012-12-21 01:23:19

标签: jquery asp.net

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

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++;
}

1 个答案:

答案 0 :(得分:4)

这是不可能的。

原因: Asp.net将其从xhtml转换为其输出服务器端。

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