我想要完成的事情非常简单。我希望在其附加实例Id与我的网页表格中显示的实例Id的名称相匹配时显示日程表的名称。这是表格的代码
<table id="table1" class="table table-bordred table-striped">
<thead>
<tr>
<th>Instance Name</th>
<th>Instance ID</th>
<th>Launch Time</th>
<th>Instance Type</th>
<th>State</th>
<th>Public Ip</th>
<th>Zone</th>
<th>Schedule</th>
</tr>
</thead>
@{int totalcount = Model.instances.Reservations.Count;}
<tbody>
@for (var i=0; i <= totalcount - 1; i++)
{
foreach (var instances in Model.instances.Reservations[i].Instances)
{
<tr>
@* if an instance gets terminated and has no name it will show up as blank and stop the describe call from breaking *@
@if (instances.Tags.Count > 0)
{
<td>
@instances.Tags[0].Value
</td>
}
else
{
<td>No Name</td>
}
<td>@instances.InstanceId</td>
<td>@instances.LaunchTime</td>
<td>@instances.InstanceType</td>
<td>@instances.State.Name</td>f
<td>@instances.PublicIpAddress</td>
<td>@instances.Placement.AvailabilityZone</td>
@foreach (var row in db.Query(selectQueryString))
{
if(instances.InstanceId == row.ServerId)
{
<td>row.ScheduleName</td>
}
else
{
<td>Unscheduled</td>
}
}
</tr>
}
}
</tbody>
查询字符串在上面声明如此。
@{
var db = Database.Open("DefaultConnection");
var selectQueryString = "SELECT * FROM ScheduledServer ORDER BY Id";
}
但是,当我查看row.ServerId
的值而不是字符串i-a137e32b时,它显示为\ ti-a137e32b,因此它会跳过if条件并且不显示计划名称。我不太熟悉Razor或SQL,所以我不知道为什么将\ t附加到我的字符串的开头。
答案 0 :(得分:1)
/ t被附加到字符串的开头,因为它在字符串中。 MSSQL在ssms结果窗格中将/ t显示为单个空格字符,因此我一直在浏览它,直到我开始提交更多数据条目。事实上,如果你看一下问题中的图像,你可以略微看到它被推到右边。