Мой вопрос слишком простой, но загадочный.У меня есть разработка страниц MVC, чтобы учиться.Я использовал контроль сервера Repeater.
<asp:Repeater ID="ProductList" runat="server">
<ItemTemplate>
<li>
<%#Eval("Name") %>
</li>
</ItemTemplate>
также: (ПРОСМОТР)
public partial class ListProduct : ViewPage
{
protected void Page_Load(object sender, EventArgs e)
{
ProductList.DataSource = ViewData["Products"];
ProductList.DataBind();
}
}
Мой сервер повторителя работает нормально.НО я добавил элемент управления GridView.Ошибка возвращает меня:
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="id" HeaderText="" Visible="false" />
<asp:BoundField DataField="Name" HeaderText="" Visible="true" />
</Columns>
</asp:GridView>
<asp:Repeater ID="ProductList" runat="server">
<ItemTemplate>
<li>
<%#Eval("Name") %>
</li>
</ItemTemplate>
</asp:Repeater>
</asp:Content>
VIEW:
GridView1.DataSource = ViewData["Products"];
GridView1.DataBind();
Ошибка **: элемент управления 'ContentPlaceHolder2_GridView1' типа 'GridView' должен быть помещен в тег формы с runat = server.**
Я понял и решил проблему, добавив сервер runat формы.Но я не понимаю ПРИЧИНЫ?Повторитель и GridView являются управлением сервером.Нет повторителя ошибок только в использовании повторителя.Ошибка возврата GRidView.Почему?