Member 11725708 Ответов: 5

Ошибка : в файле разрешен только один оператор "model".


Parser Error

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: Only one 'model' statement is allowed in a file.


Source Error:

Line 4:      ViewBag.Title = "Create"; Line 5:  } Line 6:  @model int Line 7:   Line 8:  @{

Source File: /Views/tblhotelmasters/Create.cshtml Line: 6



@model WebPortal_Planmiles.Models.Data.tblhotelmaster
@{
ViewBag.Title = "Create";
}
@model int
@{
var chk = "checked";
var checked1 = Model == 1 ? chk : null;
var checked2 = Model == 2 ? chk : null;
var checked3 = Model == 3 ? chk : null;
var checked4 = Model == 4 ? chk : null;
var checked5 = Model == 5 ? chk : null;
var htmlField = ViewData.TemplateInfo.HtmlFieldPrefix;
}

5 Ответов

Рейтинг:
2

F-ES Sitecore

У тебя их два "@model" заявления

@model WebPortal_Planmiles.Models.Data.tblhotelmaster
@model int


у вас может быть только один, точно так, как говорит вам сообщение об ошибке, поэтому удалите его. Мы не знаем, какой из них правильный, вам придется это выяснить, но похоже, что "int" может быть правильным из остальной части вашего кода представления.


Рейтинг:
1

khetha

Просто удалите один оператор @model из вашего представления.


Рейтинг:
1

Ben J. Boyle

Чтобы добавить к другим решениям, которые в корне верны, если вы действительно хотите получить информацию из обеих моделей (int и WebPortal_Planmiles.Модели.Данных.tblhotelmaster) считают либо:

а) переместите int в viewbag или tempdata

б) построение модели представления, содержащей оба файла WebPortal_Planmiles.Модели.Данных.tblhotelmaster и дополнительное целое число.

В любом случае, это должно сработать для вас.


Рейтинг:
0

elmorro

У меня была та же проблема.
Используйте @model в верхней части вашего представления, где вы объявляете свою модель.
Затем вместо того, чтобы вводить @model во всем остальном представлении, введите@, а затем используйте intelisense для выбора @Model (обратите внимание на заглавную букву M).

Должно выглядеть примерно так:

@модель WebPortal_Planmiles.Модели.Данных.tblhotelmaster
@{
Видовая сумка.Title = " Создать";
}
@Model int
@{
...

Примечание: Вы должны использовать intelisense. Просто ввести @Model не получится.


Рейтинг:
0

E.F. Nijboer

Ошибка не могла быть более ясной! @model на ваш взгляд, его можно найти дважды.

Удачи вам!