Как я могу запросить базу данных с помощью Web Matrix, чтобы получить один элемент, передав идентификатор с другой страницы?
Примечание. Я использую частичные страницы для большей части моего пользовательского интерфейса, это просто страницы в веб-матрице, используя:@RenderPage("/page_name.cshtml")
Я пытаюсь составить <ul>
из двух таблиц и страниц. Таблица Services, которая имеет связанную таблицу ServiceFeatures. В WebMatrix он устанавливает взаимосвязь, назначая идентификатор службы таблице ServieFeatures, то есть ServieId таблицы служб.
Итак, у меня есть две страницы для отображения <ul>
одной _ServiceList.cshtml, которая имеет следующее:
@{
var db = Database.Open("winmodb");
var servicesSql = "SELECT * FROM Services WHERE Featured = 'true'";
var services = db.Query(servicesSql);
}
<div id="service-list">
@foreach(var service in services) {
<h2>@service.Name</h2>
<ul>
@RenderPage("~/shared/_ServiceFeature.cshtml", @serviceId);
</ul>
}
And inside of _ServiceFeature.cshtml I have the following.
@{
var db = Database.Open("database");
var serviceFeatureSql = "SELECT * FROM ServiceFeatures WHERE ServiceId = @0";
var serviceFeature = db.QuerySingle(serviceFeatureSql, serviceId);
}
<li>@serviceFeature.Name</li>
Но это не работает, и я не уверен, нужно ли мне передавать переменную или нет. Я знаю, что serviceId не существует в текущем контексте, вот где я застрял.