I have two projects in mvc .
in one of them i use this code :
@Html.LabelFor(model => model.Subject, new { @class = "control-label col-lg-2" })
And it works correctly because the project has an extension method for labelfor
as you can see here :
public static System.Web.Mvc.MvcHtmlString LabelFor<TModel, TValue>(this System.Web.Mvc.HtmlHelper<TModel> html, System.Linq.Expressions.Expression<Func<TModel,TValue>> expression, object htmlAttributes)
But in the other project when i use the above code i mean :
@Html.LabelFor(model => model.Name, new { @class = "control-label col-lg-2" })
I got this error :
CS1928: 'System.Web.Mvc.HtmlHelper<DomainClass.Task>' does not contain a definition for 'LabelFor' and the best extension method overload 'System.Web.Mvc.Html.LabelExtensions.LabelFor<TModel,TValue>(System.Web.Mvc.HtmlHelper<TModel>, System.Linq.Expressions.Expression<System.Func<TModel,TValue>>, string)' has some invalid arguments
In the object browser i couldn't find the above extension that the other project has.as you can see here :
where is the problem?should i change the mvc version ?
here is the view code :
@model DomainClass.Task
@using System.Web.Mvc.Html;
@{
ViewBag.Title = "Create";
Layout = "~/Areas/Admin/Views/Shared/_LayoutPage.cshtml";
}
@using (Html.BeginForm("Create", "Task", FormMethod.Post, new { id = "form", enctype = "multipart/form-data" ,@class = "cmxform form-horizontal tasi-form" }))
{
<div class="row">
<div class="col-lg-12">
<section class="panel panel-default">
<div class="panel-heading" style="font-weight: bold">ثبت نمایشگاه </div>
<div class="panel-body">
<div class=" form">
<div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label col-lg-2" })
<div class="col-lg-10">
@Html.TextBoxFor(model => model.Name, new { @class = "form-control myfont" })
@Html.ValidationMessageFor(i => i.Name, "", new { @class = "validation" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.StartDate, new { @class = "control-label col-lg-2" })
<div class="col-lg-10">
@Html.TextBoxFor(model => model.StartDate, new { @class = "form-control myfont" })
@Html.ValidationMessageFor(i => i.StartDate, "", new { @class = "validation" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.FinishDate, new { @class = "control-label col-lg-2" })
<div class="col-lg-10">
@Html.TextBoxFor(model => model.FinishDate, new { @class = "form-control myfont" })
@Html.ValidationMessageFor(i => i.FinishDate, "", new { @class = "validation" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Duration, new { @class = "control-label col-lg-2" })
<div class="col-lg-10">
@Html.TextBoxFor(model => model.Duration, new { @class = "form-control myfont" })
@Html.ValidationMessageFor(i => i.Duration, "", new { @class = "validation" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Importance, new { @class = "control-label col-lg-2" })
<div class="col-lg-10">
@Html.TextAreaFor(model => model.Importance, new { @class = "form-control myfont" })
@Html.ValidationMessageFor(i => i.Importance, "", new { @class = "validation" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.DateOfSubmit, new { @class = "control-label col-lg-2" })
<div class="col-lg-10">
@Html.TextAreaFor(model => model.DateOfSubmit, new { @class = "form-control myfont" })
@Html.ValidationMessageFor(i => i.DateOfSubmit, "", new { @class = "validation" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Type, new { @class = "control-label col-lg-2" })
<div class="col-lg-10">
@Html.TextAreaFor(model => model.Type, new { @class = "form-control myfont" })
@Html.ValidationMessageFor(i => i.Type, "", new { @class = "validation" })
</div>
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<button class="btn btn-success" type="submit">ثبت اطلاعات</button>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
}
Best regards