c# - 多个子字符串在 MVC Razor 视图中不起作用
问题描述
在下面的剃刀视图中 For Each 使用
@foreach (var i in (List<MyDME.Data.Model.ERNFileRequestDTO>)ViewBag.lst)
{
for (int j = 0; j < i.Parse835Details.storedChkNo.Count; j++)
{
<tr>
<td>
@i.Parse835Details.storedPayorName[j]
</td>
<td>
@i.Parse835Details.storedChkNo[j]
</td>
<td>
@i.Parse835Details.storedTotalBilled[j]
</td>
<td>
@i.Parse835Details.storedTotalPaid[j]
</td>
<td>
//below line doing substring which is not working
@(i.Parse835Details.storedChkDate[j].Substring(4, 5) + " " + i.Parse835Details.storedChkDate[j].Substring(6, 7) + " " + i.Parse835Details.storedChkDate[j].Substring(0, 3))
</td>
<td>
<a href='/PatientManagement/DownloadUploadedDocument?fileName=@Html.Raw(i.path)'>Download</a>
</td>
</tr>
下面的错误越来越
System.ArgumentOutOfRangeException: 'Index and length must refer to a location within the string. Parameter name: length'
IF i.Parse835Details.storedChkDate[j] vlaues20210225
就像日期格式以字符串形式出现,从该值执行子字符串但不能为多个子字符串执行子字符串。
如果我使用低于单一范围,那么它的工作
@i.Parse835Details.storedChkDate[j].Substring(0, 5)
如果我使用低于单一范围,那么它不起作用
@i.Parse835Details.storedChkDate[j].Substring(4, 5)
解决方案
您正在使用该方法public string Substring (int startIndex, int length)
。
但似乎你认为它是public string Substring (int startIndex, int endIndex)
。
提取字符 4 + 5,需要传递length
为 2,如下:
@i.Parse835Details.storedChkDate[j].Substring(4, 2)
其他电话也类似。
推荐阅读
- ios - 当我调用 URLSessionTask 的 task.cancel() 时会发生什么?
- android - 创建 Firebase 列表适配器时获取“类 FirebaseListAdapter 中的构造函数 FirebaseListAdapter 不能应用于给定类型”
- python - 如何使用 Foursquare API 收集有关场地评分的数据
- c# - Xamarin.Forms:如何在 C# 代码中使用自定义字体
- ggplot2 - x 轴组之间的间距大于组间距 geom_col
- python - ImportError:没有命名的模块
- azure - 在 azure-storage-blob 中 uploadFileToBlockBlob 时由对等方重置连接
- android - 键盘弹出时可滚动布局,但没有焦点更改
- three.js - 如何为 DodecahedronGeometry 的每一面应用独特的纹理?
- mysql - 如何使用自定义开始时间计算一天的一列中的时差