Привет, это действительно странно !!
Но посмотрите на следующий asp-код:
<div runat="server" id="MainDiv">
<%foreach (string str in new string[]{"First#", "Second#"})
{ %>
<div id="<%=str.Replace("#","div") %>">
</div>
<%} %>
</div>
теперь, если вы поместите этот код на любую веб-страницу (и не беспокойтесь о морали этого кода, я сделал это только для того, чтобы показать идею) вы получите эту ошибку:
Сообщение об ошибке компилятора: CS1518: Ожидаемый класс, делегат, перечисление, интерфейс или структура
Конечно, ошибка не имеет ничего общего с реальной проблемой, я искал код, который был созданный asp.net и выяснил следующее:
private void @__RenderMainDiv(System.Web.UI.HtmlTextWriter @__w, System.Web.UI.Control parameterContainer)
{
@__w.Write("\r\n ");
#line 20 "blabla\blabla\Default.aspx"
foreach (string str in new string[] { "First#", "Second#" })
{
#line default
#line hidden
@__w.Write("\r\n <div id=\"");
#line 22 "blabla\blabla\Default.aspx"
@__w.Write(str.Replace("#", "div"));
#line default
#line hidden
@__w.Write("\">\r\n ");
}
Это код, который был сгенерирован из страницы asp, и это метод, предназначенный для отображения нашего div (MainDiv), я обнаружил, что отсутствует скобка «}», который закрывает метод или (цикл for).
теперь задача состоит из трех частей:
1- сначала у вас должен быть элемент управления сервером (в нашей ситуации это MainDiv), и я не уверен, что это только тег div.
2- элемент управления HTML внутри элемента управления сервером и код внутри него с использованием двойных кавычек (например,