Элемент управления типа 'ImageButton' должен быть помещен в тег формы с помощью runat = server. Я думал, что MVC не использовал это? - PullRequest
0 голосов
/ 02 июля 2010

Я подумал, что одним из преимуществ использования ASP.Net MVC2 является более чистая и логичная разметка, которую вы можете сделать для веб-страницы.

Я создаю дизайн своей главной страницы и когда пытаюсьзапустив его, я получаю эту ошибку:

Control 'ctl00_ImageButton1' of type 'ImageButton' must be placed inside a form tag with runat=server.

Вот код:

<body>    
    <div id="headerarea">
        <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Content/logo.png" PostBackUrl="~/Views/Home/Index.aspx" />
        <p><span class="salute"><strong>Hola.</strong></span> Inicie sesion para poder crear tus propios anuncios gratis! Eres nuevo? Empieza aqui.</p>
        <div id="topmenu">
            <img src="../../Content/categorybutton.png" alt="Nuestras categorias" />
            <p>Buscar en</p>            
        </div>
    </div>
</body>

Что я должен сделать, чтобы исправить эту ошибку?Любые советы?

1 Ответ

2 голосов
/ 02 июля 2010

ASP.Net MVC не использует любые runat="server" элементы управления (кроме asp:ContentPlaceHodler s для главных страниц).

Вместо этого следует использовать необработанный HTML:

<input type="image" src="<%=Url.Content("~/Content/logo.png")" />

Обратите внимание, что теги HTML <input> должны находиться внутри <form>.

Также обратите внимание, что ~/Views/Home/Index.aspx не является допустимым путем для клиента.

Возможно, вы хотитевместо простой гиперссылки:

<a href="/">
    <img src=<%=Url.Content("~/Content/logo.png")" alt="Our Logo" />
</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...