MercuryKT
asked on
Compiler Error Message: CS0103 in MVC app (The name 'Html' does not exist in the current context)
Please look at this sample code and my question followed:
When I move my mouse over to one of the Html's it says:
HtmlHelper.ViewPage.Html
Returns a System.Web.Mvc.HtmlHelper contains methods useful for rendering html elements.
However, I've gotten this CS0103 on a page with a slightly different Inherits attribute
What wrong is that all the 'Html''s are underlined in red in my VS2008.
So I wanted to see what would happen when I remove <IEnumerable<MyApplication Project.Mo dels.Categ ory>> I noticed the index obj (Category) in my loop remain underlined in red whether I remove the IEnumerable portion of the inherits attribute or not - but that's a different issue (i.e. The type or namespace name 'Category' could not be found (are you missing a using directive or an assembly reference?) However, all the Html's were no longer underlined (I supposed the errors were gone in this case)
For now, I wonder how I go about to fix the html errors with the <IEnumerable<MyApplication Project.Mo dels.Categ ory>> intact for my loop. My entired project compiles OK regardless, but when it comes to individual page as I open it in VS2008, all those html's got underlined in red; and it says 'The name html does not exist in the current context' on mouse over (don't even need to run it to see the CS0103 Compiler error, arg it is so frustrating to look at them) (Are these complile errors only fixed at run-time or something? I think I've got MyApplicationProject.Model s referenced. Thank you for reading.)
BTW I supplied the namespace for the Category as shown (MyApplicationProject.Mode ls) but the error woudln't go away. What else do I miss?
<%@ Page Title="" Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<% Html.RenderPartial("~/Views/Shared/Message.ascx"); %>
<form method="post" action="<%= Url.Action(this.ViewContext.RouteData.Values["action"] as string, "Article") %>" class="article-create">
<h3>Article</h3>
<p><label for="categoryId">Category</label><br />
<%= Html.DropDownList("categoryId")%></p>
<p><label for="title">Title</label><br />
<%= Html.TextBox("title", ViewData["title"], new { @maxlength = 256 })%>
</form>
</asp:Content>
When I move my mouse over to one of the Html's it says:
HtmlHelper.ViewPage.Html
Returns a System.Web.Mvc.HtmlHelper contains methods useful for rendering html elements.
However, I've gotten this CS0103 on a page with a slightly different Inherits attribute
<%@ Page Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<IEnumerable<MyApplicationProject.Models.Category>>" %>
<asp:Content ID="MainContent" ContentPlaceHolderID="MainContent" runat="server">
<div id="categories">
<% foreach (Category category in ViewData.Model) { %>
<div class="admin">
<%= Html.ActionLink("Edit", "EditCategory", new { controller = "Article", categoryId = category.CategoryID })%> |
<%= Html.ActionLink("Remove", "RemoveCategory", new { controller = "Article", categoryId = category.CategoryID })%>
</div>
<% Html.RenderPartial("~/Views/Shared/Article/CategoryItem.ascx", category); %>
<hr />
<% } %>
</div>
</asp:Content>
What wrong is that all the 'Html''s are underlined in red in my VS2008.
So I wanted to see what would happen when I remove <IEnumerable<MyApplication
For now, I wonder how I go about to fix the html errors with the <IEnumerable<MyApplication
BTW I supplied the namespace for the Category as shown (MyApplicationProject.Mode
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
other alternate solution.
ASKER
Credits go to both for your efforts. Thanks