Compiler Error Message: CS0135: 'Model' co

2019-01-19 13:12发布

问题:

I am using ASP.NET MVC 3. I have created a strongly typed view that has a form. At the bottom of the page I have and ActionLink

  @Html.ActionLink("Edit", "Edit", new { id = Model.UserId}) 

this will allow the user to edit the information. When I run the app I get the following error.

  Compiler Error Message: CS0135: 'Model' conflicts with the declaration
 'System.Web.Mvc.WebViewPage<TModel>.Model'

What could this be.

回答1:

I guess somewhere in your view you have used a strongly typed helper with a lambda expression using the reserved Model keyword. Like for example:

@Html.TextBoxFor(Model => Model.SomeProperty)

it should be:

@Html.TextBoxFor(x => x.SomeProperty)

or any other name.



回答2:

I found simply replacing the capital M with a small m solved this. i.e. from

@Html.TextBoxFor(Model => Model.SomeProperty)

to

@Html.TextBoxFor(model => model.SomeProperty)

Perhaps it is more ambiguous, but it is less of a change if you want to keep things similar to the way they were.