Asp.net 应为错误CS1513}。你是不是太挑剔了?
这是我的密码。我在文本编辑器中编辑的只是一个基本的cshtml页面,而不是MVC。VisualStudio帮不了什么忙,它似乎和编译器有同样的问题 代码将计划中的步骤列表打印到表中,从db查询中检索。可能有多个计划,每次有新计划时,我都希望在面板中显示其名称,然后在表中显示其步骤。这意味着关闭当前表并启动新表 编译器似乎无法在关闭标记不合适时处理它们。我试过使用和不使用Html.Raw,结果相似。是否有一种技术可以工作并允许编译Asp.net 应为错误CS1513}。你是不是太挑剔了?,asp.net,razor,Asp.net,Razor,这是我的密码。我在文本编辑器中编辑的只是一个基本的cshtml页面,而不是MVC。VisualStudio帮不了什么忙,它似乎和编译器有同样的问题 代码将计划中的步骤列表打印到表中,从db查询中检索。可能有多个计划,每次有新计划时,我都希望在面板中显示其名称,然后在表中显示其步骤。这意味着关闭当前表并启动新表 编译器似乎无法在关闭标记不合适时处理它们。我试过使用和不使用Html.Raw,结果相似。是否有一种技术可以工作并允许编译 @{ var db = Database.Open("CA
@{
var db = Database.Open("CADDatabase");
var count=0;
var num="0";
var image="blank";
var APName="blank";
// Attached action plan for incident
var APIncidentQuery=@"select action_plan_name, action_plan_item_types.item_type_eng, pre_mobilisation_flag, instruction_text, isnull(action_plan_active.instruction_information,' ') as instruction_information, item_status_eng
from action_plan, action_plan_active, action_plan_item_types, action_plan_status
where action_plan_item_types.item_type=action_plan_active.item_type
and action_plan_active.item_status=action_plan_status.item_status
and action_plan.action_plan_id=action_plan_active.action_plan_id
and action_plan_active.eid=(select min(eid) from agency_event where num_1=@0) order by action_plan_active.action_plan_id, active_item_id";
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="theme.css">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Process Action Plan</title>
</head>
<body>
<!-- Panel header with search box -->
<div class="container-fluid ">
<div class="row no-gutters">
<div class="col-xs-12">
<div class="panel panel-default">
<div class="panel-heading clearfix">
<form method="get" class="col-xs-3">
<div class="input-group">
<input class="form-control" type="text" placeholder="Event id" name="EventId" size="12">
<span class="input-group-btn">
<button class="btn btn-primary" type="submit">Search</button>
</span>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- Header row -->
<div class="row no-gutters">
@foreach(var row in db.Query(APIncidentQuery,Request.QueryString["EventId"])){
image="Images/ActionPlans/" + @row.item_type_eng + ".png";
// New plan
if (row.action_plan_name != APName) {
// Close off previous table if there is one
if (APName != "blank") {
Html.Raw("</tbody></table></div></div>");
}
<!-- Start new table -->
<div class="col-xs-12">
<div class="panel panel-warning">
<div class="panel-heading">
<div class="plan-header">
<img src="http://swi-hsiv-ps03/UKApps/Images/checklist-warning.png" height="32">
<h3 class="panel-title">Action plan items (@row.action_plan_name)</h3>
</div>
</div>
<!-- Table of results -->
<table class="table table-condensed table-striped">
<thead>
<tr>
<th>#</th>
<th>Type</th>
<th>Pre-dispatch</th>
<th>Instruction</th>
<th>Additional Info</th>
</tr>
</thead>
<tbody>
<!-- store plan name for next iteration -->
@{
APName=row.action_plan_name;
}
<!-- Populate new table -->
}
<!-- List Action Plan items -->
<tr>
<td>@row.item_number</td>
<td><img src="@image" height="30" title="@row.item_type_eng"></td>
@if (row.pre_mobilisation_flag == "Y") {
<td><img src="images/ActionPlans/done-red.png" title="Y" height="30"></td>
} else {
<td><img src="images/ActionPlans/delete-grey.png" title="N" height="30"></td>
}
<td>@row.instruction_text</td>
@if (row.instruction_information.Length > 4 && row.instruction_information.Substring(0,5) == "http:") {
<td><a href=@row.instruction_information>Additional information</a></td>
} else {
<td>@row.instruction_information</td>
}
</tr>
}
@{
Html.Raw("</tbody></table></div></div>");
}
</div>
</div>
</body>
</html>
通过重写为2个查询修复,一个用于获取计划列表,另一个用于列出每个查询中的项目。然后这些表就完全包含在foreach循环中。遵循我认为没有办法解决的技巧。由于标记在foreach循环中打开,因此预期会在循环中找到该标记。您需要调整标记,我相信这也会使标记更清晰。@vfle是的,谢谢我查看了那个线程。@TasosK。这有点像是说你需要用不同的方式来写。但实际上,我就是这么做的——将其重写为两个查询,每个查询都有一个foreach循环。谢谢。我想是多音查询。试着把它放在一行,看看这是不是原因。