Я пытаюсь добавить элемент управления на страницу ASP.NET. Элементы управления добавляются успешно, но не имеют доступа к коду. В примере ниже, когда нажата кнопка Button1, в «uploads» нет элемента (введите HttpFileCollection).Добавление управления в ASP.NET с помощью jQuery
Вот моя наценка: за
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="add-remove-control.aspx.vb"
Inherits="APIU.Web.add_remove_control" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="_Assets/scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
var i = 1;
//allow only 3 elements
$('#add').click(function() {
if (i < 4) {
var add_input = '<input type="file" id="' + 'dynamic:' + i + '" name="' + 'dynamic:' + i + '" />'
var add_link = '<a href="#" class="remove">Remove</a>'
$('body').append('<p>' + add_input + add_link + '</p>');
i++;
}
});
$('.remove').live('click', function() {
$(this).parent('p').remove();
i--;
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="#" id="add">Add</a>
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<p>
</p>
</div>
</form>
</body>
</html>
Код:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim uploads As HttpFileCollection
uploads = HttpContext.Current.Request.Files
Dim sfile As String
For i As Integer = 0 To (uploads.Count - 1)
If (uploads(i).ContentLength > 0) Then
Dim c As String = System.IO.Path.GetFileName(uploads(i).FileName)
Try
uploads(i).SaveAs("C:\UploadedUserFiles\" + c)
sfile += uploads(i).FileName & "<br/>"
Catch Exp As Exception
End Try
End If
Next i
End Sub
Почему нет ни одного элемента в "загрузки" (тип HttpFileCollection)?
Я добавил div как этот
' + add_input + add_link + '
'); Я могу добавить элементы управления в div, но все же элементы управления не будут отображаться на обочине. Если попытаться добавить атрибут runat = "server" в jQuery, то разметка не получит рендеринга и это приведет к ошибке. – Narazana@Morron - Не нужно для 'runat =" server "' это другое дело. Однако ваша форма имеет неправильную кодировку, добавьте ее в свой '