我认为使用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>
我该怎么做才能解决这个错误?有什么提示吗?
答案 0 :(得分:2)
ASP.Net MVC不使用任何 runat="server"
控件(主页的asp:ContentPlaceHodler
除外)。
您应该使用原始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>