سلام دوستان وقتتون بخیر
من برای یک Areas از پروژه ام از t4 ها و کندو استفاد کردم.لیستی از کاربرانم رو نشون میدم به ادمین سایت که امکان افزودن جدید کاربر براش گذاشتم وقتی روی افزودن جدید کلیک میکنم ارور زیر رو میده.
مشکل از چیه؟ممنون میشم راهنماییم کنیم
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: CS1061: 'Kendo.Mvc.UI.Fluent.WidgetFactory<object>' does not contain a definition for 'TextBoxFor' and no extension method 'TextBoxFor' accepting a first argument of type 'Kendo.Mvc.UI.Fluent.WidgetFactory<object>' could be found (are you missing a using directive or an assembly reference?) Source Error: Line 1: @model object Line 2: Line 3: @Html.Kendo().TextBoxFor(model => model)
این هم تکه کدی ک ارور روش اتفاق می افته:
<div class="form-group"> @Html.LabelFor(model => model.UserName, new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.UserName) @Html.ValidationMessageFor(model => model.UserName) </div> </div>
ابتدا مدل صفحه را بررسی کنید
سپس اضافه شدن فضای نام را بررسی کنید
متاسفانه نمیضشه حدس زد
اگر نشد متن ارور را سرچ کنید
ظاهرا همه چیز درسته استاد.t4رو که استفاده کردم index ,delete درست هست create ,edit دقیقا روی همین مورد :
@Html.EditorFor(model => model.UserName) ارور میدن.برای بعضی از فیلدهااین ارور اتفاق میافته.مثلا داخل ویوی create فیلدایمیل رو درست نشون میده،فیلد یوزرنیم همچین اروری میده کامنت که میکنم یوزرنیم رو درست اجرا میشه.
سرچ زیاد انجام دادم تا الان که بی نتیجه بوده.
چه ورژنی از کندو نصب کردید ؟ از چه ویژوال استادیو استفاده میکنید ؟
کندو:Telerik.Kendo.UI.Complete.2016.2.607
ویژوال 2013 mvc 5.0.0 بود اول برای استفاده از این ورژن کندو مجبور شدم اپدیتش کنم به mvc 5.2.3.0
چرا مدل صفحه object هست ؟
کد ویوی create من این هست:
@model DataLayer.Context.Users @using Kendo.Mvc.UI @using Kendo.Mvc.Extensions @{ ViewBag.Title = "افزودن " + Server.HtmlDecode(Html.DisplayNameFor(model => model).ToString()); } <h2>افزودن @Html.DisplayNameFor(model => model)</h2> @using (Html.BeginForm()) { @Html.AntiForgeryToken() <div class="form-horizontal"> @Html.ValidationSummary(true) <div class="form-group"> @Html.LabelFor(model => model.UserID, new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.UserID) @Html.ValidationMessageFor(model => model.UserID) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.RoleID, "RoleID", new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.DropDownList("RoleID", String.Empty) @Html.ValidationMessageFor(model => model.RoleID) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.UserName, new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.UserName) @Html.ValidationMessageFor(model => model.UserName) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Email, new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Email) @Html.ValidationMessageFor(model => model.Email) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Password, new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Password) @Html.ValidationMessageFor(model => model.Password) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.ActiveCode, new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.ActiveCode) @Html.ValidationMessageFor(model => model.ActiveCode) </div> </div> <div class="form-group"> <div class="col-md-2"> </div> <div class="col-md-10"> @Html.EditorFor(model => model.IsActive) @Html.LabelFor(model => model.IsActive) @Html.ValidationMessageFor(model => model.IsActive) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.RegisterDate, new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.RegisterDate) @Html.ValidationMessageFor(model => model.RegisterDate) </div> </div> <div class="form-group" id="buttons"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="ایجاد" class="btn btn-primary" /> @Html.ActionLink("بازگشت به فهرست", "Index") </div> </div> </div> }
این قسمتی که ارور میده و ابجکت هست ارور صفحه برای این فایله:
Views\Shared\EditorTemplates\String.cshtml
داخل این صفحه این کد بود:
@model object @Html.Kendo().TextBoxFor(model => model)
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)