.Net MVC 视图双层foreach嵌套

原后台代码:
[HttpGet]
        public PartialViewResult GetInfo(string hospitalid)
        {


             IQueryable<THospitalOrder> orderList = null;
            if (hospitalid != null && hospitalid != "")
            {
                int HospitalID=Int32.Parse(hospitalid);
                orderList = THospitalOrderRepository.GetMany(m => m.HospitalID == HospitalID);
            }
            return PartialView("_GetInfo", orderList);
        }
cshtml视图代码:
<pre name="code" class="html">@model IQueryable
@if(Model.Count()==0){    
<strong>~暂无记录~</strong>
}else{   
 foreach(THospitalOrder m in Model)    {    
<fieldset style="border: 2px solid grey; padding: 10px; margin: 0px">    
	<legend style="color: #A86500"><strong>订单编号:@m.OrderNumber</strong></legend>                        
	<table class="table  ">        
		<tbody>
			<tr>
				<td>
					联系方式:
				</td>
				<td>
					@m.GetTel
				</td>        
				<td>
					联系地址:
				</td>        
				<td>
					@m.GetAddress
				</td>        
				<td>
					备注信息:
				</td>        
				<td>
					@m.OrderRemark
				</td>
			</tr>
@foreach (THospitalOrderItem OrderItem in @m.THospitalOrderItems)  { 
<tr> <td>@OrderItem.TProduct.ProductName</td> <td>@OrderItem.TotalCount</td> <td>@OrderItem.TotalPrice</td> </tr>
 
                }       
</table> </fieldset> }
 
}
 
<pre name="code" class="html">运行时一直报错,错误信息“已有打开的与此+Command+相关联的+DataReader,必须首先将它关闭。”
解决方法:将数据源改为List格式输出。

 
 
[HttpGet]
        public PartialViewResult GetInfo(string hospitalid)
        {


           <span style="color:#ff0000;"> List<THospitalOrder> orderList = null;</span>
            if (hospitalid != null && hospitalid != "")
            {
                int HospitalID=Int32.Parse(hospitalid);
                orderList = THospitalOrderRepository.GetMany(m => m.HospitalID == HospitalID).<span style="color:#ff6666;">ToList();</span>
            }
            return PartialView("_GetInfo", orderList);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET MVC CRUD是指在ASP.NET MVC框架中进行创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作的一种常见模式。在ASP.NET MVC中,可以使用控制器和视图来实现这些操作。 在创建(Create)操作中,可以使用控制器的POST方法来接收用户输入的数据,并将其保存到数据库中。通常,可以在视图中使用表单来收集用户输入的数据,并将其提交到控制器的POST方法中进行处理。引用[3]中的代码片段展示了一个基本的表单,其中使用了基架系统(Scaffolding System)生成的<label>和<input>元素。 在读取(Read)操作中,可以使用控制器的GET方法来从数据库中检索数据,并将其传递给视图进行显示。引用[1]中的代码片段展示了如何在视图中使用强类型的Model对象来遍历User列表,并使用foreach语句生成相应的HTML元素。 在更新(Update)操作中,可以使用控制器的POST方法来接收用户输入的更新数据,并将其保存到数据库中。通常,可以在视图中使用表单来显示要更新的数据,并将其提交到控制器的POST方法中进行处理。 在删除(Delete)操作中,可以使用控制器的POST方法或GET方法来删除数据库中的数据。通常,可以在视图中使用链接或按钮来触发删除操作,并将其提交到控制器的相应方法中进行处理。 总之,ASP.NET MVC CRUD模式提供了一种结构化的方式来管理数据的创建、读取、更新和删除操作,使开发人员能够更轻松地构建和维护应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值