В настоящее время я определил несколько переменных в моей модели, которые затем назначил значения в соответствующем контроллере. Затем я хочу, чтобы эти присвоенные значения использовались переменными в моем представлении, однако я не уверен в том, что мне нужно сделать, чтобы добиться этого ...
Ниже приведена модель моего класса;
public class Category
{
public string result { get; set; }
public Array userData { get; set; }
}
И затем контроллер, в котором я присвоил значения вышеуказанным объявленным переменным;
[HttpPost]
public ActionResult ReadCategory()
{
var dataFile = Server.MapPath("~/App_Data/Category.txt");
Category passCategory = new Category
{
result = "",
delimiterChar = { ',' },
userData = System.IO.File.ReadAllLines(dataFile)
};
return View(passCategory);
}
И, наконец, я хочу использовать присвоенные выше переменные в моем представлении .. Хотя для по какой-то причине переменные приводят к ошибке «Имя variableName не существует в текущем контексте».
Просмотр кода следующим образом:
@using (Html.BeginForm("ReadCategory", "Index", FormMethod.Post))
{
<div class="categoryList">
@result
@if (result == "")
{
foreach (String dataLine in userData)
{
<p>
<a data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
@dataLine.Split(delimiterChar)[0]
</a>
<button class="btn" id="@dataLine.Split(delimiterChar)[1]"><i class="fas fa-plus secondaryPlusIcon" id="@dataLine.Split(delimiterChar)[1]"></i></button>
<button class="btn" id="@dataLine.Split(delimiterChar)[1]"><i class="far fa-edit secondaryEditIcon" id="@dataLine.Split(delimiterChar)[1]"></i></button>
<button class="btn" id="@dataLine.Split(delimiterChar)[1]"><i class="far fa-trash-alt secondaryDeleteIcon" id="@dataLine.Split(delimiterChar)[1]"></i></button>
</p>
<div class="collapse" id="collapseExample">
<div class="card card-body w-25 p-3 collapsible">
@dataLine.Split(delimiterChar)[1] / Sub-category <!-- The ID value (Value after the delimiter) This ID value is associated to each category listed above-->
</div>
</div>
}
}
</div>
}
(Большая часть кода в представлении не нужна, однако я хотел бы сосредоточиться конкретно на переменных: «result», «userData» и "delimiterChar") ~ Эти переменные выдают ошибку, описанную выше.
ПРИМЕЧАНИЕ. В настоящее время я использую пространства имен в представлении;
@ с использованием projectName.Models
@ model IEnumerable
Я явно что-то здесь упускаю, я чрезвычайно новичок в MVC, и любое руководство по решению этой проблемы будет с благодарностью, спасибо:)