protrafree
protrafree

Reputation: 96

CS 1061 error on ASP.Net

im just start learning asp.net and encounter this error
i've tried many solution from google but still get this error (errr...)

Compiler Error Message: CS1061: 'Exercise1.Visitor' does not contain a definition for 'Name' and no extension method 'Name' accepting a first argument of type 'Exercise1.Visitor' could be found (are you missing a using directive or an assembly reference?)

im using VS2012 with 4.5 Net

this is my code

Model

namespace Exercise1.Models
{
    public class Visitor
    {
        public String Name
        {
            set;
            get;
        }

    }
}

Controller

namespace Exercise1.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Index(Visitor data)
        {
            ViewBag.Message= "Hi my name is" + data.Name;

            return View();
        }

    }
}

View

@{
    Layout = null;
}

@model Exercise1.Visitor
<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>
</head>
<body>

    <div>
        @using(Html.BeginForm())
        {
         <p>
             @Html.LabelFor(m=>m.Name);

         </p>   

        }
    </div>
</body>
</html>

btw, this is my first question hehe

Upvotes: 0

Views: 151

Answers (2)

dfdsfdsfsdf
dfdsfdsfsdf

Reputation: 663

Do you have another Vistor class in your project? it's saying Exercise1.Visitor when it should be complaining about Exercise1.Models.Visitor

make sure you're referencing Exercise1.Models.Visitor

Upvotes: 0

James P
James P

Reputation: 2256

Change model to:

 @using Exercise1.Models
 @model Exercise1.Models.Visitor

Upvotes: 1

Related Questions