Receiving "The name 'ModelName' does not exist in the current context'
when the model is imported ASP.NET MVC 4'
Can someone explain to me why i get the following error: The name
'Messanger' does not exist in the current context from IIS server when i
have imported the class and even Visual Studio doesn't detect an error?
xxxxx.Models.Messanger:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace XXXX.Models
{
public class Messanger
{
private static List<string> Success = new List<string>();
private static List<string> Info = new List<string>();
private static List<string> Warning = new List<string>();
public static void addSuccess(string message)
{
Success.Add(message);
}
public static void addSuccess(List<string> messages)
{
Success.AddRange(messages);
}
public static void addInfo(string message)
{
Info.Add(message);
}
public static void addInfo(List<string> messages)
{
Info.AddRange(messages);
}
public static void addWarning(string message)
{
Warning.Add(message);
}
public static void addWarning(List<string> messages)
{
Warning.AddRange(messages);
}
public static List<string> getSuccess()
{
return Success;
}
public static List<string> getInfo()
{
return Info;
}
public static List<string> getWarning()
{
return Warning;
}
public static void addMessage(IMessageType message)
{
if (message.getType() == "success")
{
Success.Add(message.getMessage());
}
else if (message.getType() == "warning")
{
Warning.Add(message.getMessage());
}
else Info.Add(message.getMessage());
}
public static void addMessage(List<IMessageType> messages)
{
foreach (IMessageType message in messages)
{
addMessage(message);
}
}
public static int getMessageCount()
{
return Success.Count + Info.Count + Warning.Count;
}
public static bool ThereAreMessages()
{
return (getMessageCount() > 0);
}
}
public interface IMessageType
{
string getType();
string getMessage();
}
public abstract class Message : IMessageType
{
private string Message;
private string Type;
public Message(string message, string type)
{
this.Message = message;
this.Type = type;
}
public string IMessageType.getType()
{
return Type;
}
public string IMessageType.getMessage()
{
return this.Message;
}
}
public class SuccessMessage : Message
{
public new SuccessMessage(string message)
: base(message, "success")
{
}
}
public class InfoMessage : Message
{
public new InfoMessage(string message)
: base(message, "info")
{
}
}
public class WarningMessage : Message
{
public new WarningMessage(string message)
: base(message, "warning")
{
}
}
}
and my _Layout.cshtml Razor view is:
@XXXXX.Models
<!DOCTYPE html>
<html>
<head>
<title>XXXXX - @ViewBag.Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="@Url.Content("/css/bootstrap.css")" rel="stylesheet"
media="screen">
<link href="@Url.Content("/css/bootstrap-glyphicons.css")"
rel="stylesheet">
</head>
<body>
<div class="navbar navbar-inverse">
<div class="container">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
<div class="nav-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle"
data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="nav-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<form class="navbar-form form-inline pull-right" method="post"
action="@Url.Action("Login", "Account", new {ReturnUrl =
ViewBag.ReturnUrl})">
@Html.AntiForgeryToken()
<input type="text" name="UserName" autofocus
placeholder="Username">
<input type="password" placeholder="Password" name="Password">
<input type="hidden" value="true" name="RememberMe">
<button type="submit" class="btn btn-default">Log in</button>
</form>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
@if (Messanger.ThereAreMessages())
{
<div class="row">
<div class="alert alert-danger">
<button type="button" class="close"
data-dismiss="alert">×</button>
@foreach (string message in Messanger.getWarning())
{
@message;
}
</div>
</div>
<div class="row">
<div class="alert alert-success">
<button type="button" class="close"
data-dismiss="alert">×</button>
@foreach (string message in Messanger.getSuccess())
{
@message;
}
</div>
</div>
<div class="row">
<div class="alert alert-info">
<button type="button" class="close"
data-dismiss="alert">×</button>
@foreach (string message in Messanger.getInfo())
{
@message;
}
</div>
</div>
}
@RenderBody()
</div>
<!-- End of content-->
<script src="@Url.Content("/js/jquery-2.0.3.min.js")"></script>
<script src="@Url.Content("/js/bootstrap.js")"></script>
</body>
</html>
I get the error when trying to access
XXXXX.Models.Messanger.ThereAreMessages() at line 49.
No comments:
Post a Comment