Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC中每个循环的存储过程_C#_Asp.net Mvc_Entity Framework_Razor_Asp.net Mvc 5 - Fatal编程技术网

C# ASP.NET MVC中每个循环的存储过程

C# ASP.NET MVC中每个循环的存储过程,c#,asp.net-mvc,entity-framework,razor,asp.net-mvc-5,C#,Asp.net Mvc,Entity Framework,Razor,Asp.net Mvc 5,我试图在一个模型的索引视图中工作,我们称之为Table1。在表1中,有一个ID链接到另一个表/模型,即表2。我想在我的索引视图中显示Table1的文本,而不是Table2的ID,但是Table2的主要信息由来自其他表以及Table3和Table4的两个ID组成,因此我需要从实际描述所在的Table3和Table4中获取文本 这样做的唯一方法是通过存储过程吗?我想是的。但是,我的桌子上的每个循环都需要它。因此,如果页面最初包含表2的ID,我可以将其传递给部分视图并操作表内容吗 所以我想的是: &l

我试图在一个模型的索引视图中工作,我们称之为Table1。在表1中,有一个ID链接到另一个表/模型,即表2。我想在我的索引视图中显示Table1的文本,而不是Table2的ID,但是Table2的主要信息由来自其他表以及Table3和Table4的两个ID组成,因此我需要从实际描述所在的Table3和Table4中获取文本

这样做的唯一方法是通过存储过程吗?我想是的。但是,我的桌子上的每个循环都需要它。因此,如果页面最初包含表2的ID,我可以将其传递给部分视图并操作表内容吗

所以我想的是:

<table>
foreach (var item in Model) {
<tr>
  @RenderPage("_PartialView.cshtml")
  <td>@item.Cotent</td>
</tr>
}
</table>

foreach(模型中的var项目){
@渲染页面(“\u PartialView.cshtml”)
@项目.条款
}
基本上,我的问题归结为,主视图上的foreach循环是否会导致局部视图迭代,从而显示多个记录


更新:所以我试过的都没用。我要试着更好地解释我的问题。因此,我的第一个模型,即我正在使用的视图,我们称之为餐厅,包含我的第二个模型的ID,我们称之为塔可。我的Taco模型没有真正的字符串描述,只有来自另外两个模型的ID,比如说莴苣,还有番茄。我需要访问莴苣和西红柿中的描述,以便将它们全部显示在我的餐厅中,只需在一张表中查看,就可以作为表中的一项查看。我不知道如何着手实施一种方法来做到这一点。在我的编辑视图中,我还创建了一个下拉菜单,使用莴苣和番茄中的描述,并使用塔可表中的ID组成下拉菜单中的塔可对象。

首先回答您的上述问题,主视图上的foreach循环是否会导致局部视图迭代,从而显示多个记录

是的,它将根据您的表迭代每个内容的部分视图。此外,还可以将数据传递给@RenderPage(),并使用page属性访问该数据

例:

@RenderPage(“~/Views/Shared/_PartialView.cshtml”,新的{User=Model})
@foreach(Page.user中的var user)
{
@user.UserName@user.UserPassword
}
正式定义:在另一个页面中呈现一个页面的内容

希望以上信息有用,请告诉我您的想法或反馈

谢谢


Karthik

下面是一个示例,说明如何添加额外的参数,并切换到
RenderPartial
调用,将另一个ID传递到局部视图中

<table>
   @foreach (var item in Model) {
   <tr>
       @Html.RenderPartial("_PartialView.cshtml", new { Table2ID = item.Table2ID })
      <td>@item.Content</td>
   </tr>
   }
</table>

@foreach(模型中的var项目){
@RenderPartial(“_PartialView.cshtml”,新的{Table2ID=item.Table2ID})
@项目.内容
}

希望这有帮助

听起来您试图显示的模型涉及多个表的信息?创建一个完全符合您需要的视图模型,并将其发送到视图。我如何做到这一点?你能链接一个例子吗?我会为你准备一个.net提琴。这是一个非常基本的提琴。其思想是创建一个视图模型,该模型正好包含要显示的信息。在控制器中,您可以执行任何需要获取信息的操作,无论是数据库调用还是其他操作。将所有这些信息加载到视图模型中,并将其返回到视图中。您可以将模型向下传递到局部视图,即使是在循环中。
<table>
   @foreach (var item in Model) {
   <tr>
       @Html.RenderPartial("_PartialView.cshtml", new { Table2ID = item.Table2ID })
      <td>@item.Content</td>
   </tr>
   }
</table>