Я искал решение этой проблемы на каждой странице, которую может предоставить мне Google, но я не смог найти точного решения, которое может решить Это.Отображение столбцов таблицы SQL Server в ASP.net MVC C#
Я думаю, что решение будет простым, но я не эксперт по C# & ASP.NET MVC, но некоторое время работал над веб-разработкой.
Ситуация: У меня есть база данных.
- Наименование таблицы:
MyData
. - Имена столбцов: идентификатор, имя, поле и определения, и у меня есть некоторые значения под каждым столбцом.
Я использовал ADO.NET Entity Data Model для подключения моей базы данных существует, и эти модели находятся под .edmx
/.tt
папки.
public partial class MyData
{
public MyData(){ }
public int ID { get; set; }
public string Name { get; set; }
public string Field { get; set; }
public string Definition { get; set; }
}
Затем я добавить MVC5 контроллеры с видом, используя EF, который указывает на модели, которую я только что генерируется из базы данных.
namespace Mytest1.Controllers
{
public class MyDataController : Controller
{
private MyDatadb db = new MyDataEntities();
// GET: MyData
public ActionResult Index()
{
return View(db.MyData.ToList());
}
...
И я щелкнул правой кнопкой мыши, чтобы создать представление Index, редактирование, создание .... Ниже индекс:
@model IEnumerable<Mytest1.MyData>
@{
ViewBag.Title = "MyData";
}
<h2>MyData</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Field)
</th>
<th>
@Html.DisplayNameFor(model => model.Definition)
</th>
</tr>
@foreach (var item in Model) {...
Теперь я могу отобразить значения по каждому столбцу и веб-страница дает мне таблицу, обрабатывая представление Index.
Итак, вопрос в том, что я не хочу показывать эти значения. Я хочу, чтобы веб-страница отображала информацию верхнего уровня этой базы данных. Поэтому я хотел бы иметь таблицу, в первой строке которой находится MyData
, а нижняя строка ниже - ID, имя, поле и определение. Так просто. Но я не знаю, как это сделать.
Что я думаю о том, чтобы добавить это в текущей модели
public class showColumn : MyData{
// 1. retrieve how many columns are in MyData
// 2. Return the values of those columns that have counted in step 1
}
А потом создать новую таблицу в Index.cshtml сказать:
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.showColumn)
</th>
</tr>
Было бы это Подумав возможный способ достижения этого решения? Или, если кто-то может дать мне лучший способ решить эту проблему, я по достоинству оценю это!
Не могли бы вы MOC на то, что вы хотите в краску и добавить его к этому вопросу. Мне трудно понять, что вы пытаетесь сделать. Прошу прокомментировать, когда вы закончите, чтобы получить уведомление. Также (я бы сделал это за вас, но я - 90 человек из редакции !!!) Я бы рекомендовал добавить тэг asp.net-mvc к этому вопросу, так как большинство заглядывает на это, отвечая на вопросы. –
Так что в основном эти кодовые блоки выше, мелко описывают мою проблему. если вы думаете, что псевдокод я написал ( public class showColumn: MyData { // 1. получить количество столбцов в MyData // 2.Возвращаем значения тех столбцов, которые были подсчитаны на шаге 1 }) - это возможный способ решить эту проблему, тогда мой вопрос будет заключаться в том, как сделать псевдореальным кодом. –