我对以下代码有疑问:
CSHTML 文件的部分:
@if(errorMessage != "")
{
err="err";
}
else
{
err="";
}
@if(errorMessage == "")
{
foreach(var row in db.Query(stringCompiler, EntryID, POIName, DateLastModified, Gender, Race, Height, Weight, HairColor, EyeColor, DOB, Age, SS, DL, DOC, VehicleTag, FBI, Officer, HomePhone, CellPhone, CellPhone2, CellPhone3, POICautions, WorkPhone, WeightedAggregate, Address, AdditionalDescriptors, Aliases, SourceOfInformation, AddressInformation, KnownAssociates, VehicleDescription, Comments, SummarizedIncidents, AllCellPhones, AllPhones, betDOB1, betDOB2, betDLM1, betDLM2, betAge1, betAge2, POILastName, SearchAll))
{
<div class="searchResult">
<table style="background-color: #beebeb;">
<tr>
<td class="entryLabel">ENTRY ID</td>
<td class="entryLabel">FIRST NAME</td>
<td class="entryLabel">LAST NAME</td>
<td class="entryLabel">DATE LAST MODIFIED</td>
<td class="entryLabel">DOB</td>
<td class="entryLabel">AGE</td>
<td class="entryLabel">ADDRESS</td>
<td class="entryLabel">VEHICLE TAG#</td>
<td class="entryLabel">OFFICER</td>
<td class="entryLabel">HOME PHONE</td>
<td class="entryLabel">CELL PHONE</td>
<td class="entryLabel">WEIGHTED AGGREGATE</td>
</tr>
<tr>
<td class="entry">@row.EntryID</td>
<td class="entry">@row.POIName</td>
<td class="entry">@row.POILastName</td>
<td class="entry">@row.DateLastModified</td>
<td class="entry">@row.DOB</td>
<td class="entry">@row.Age</td>
<td class="entry">@row.Address</td>
<td class="entry">@row.VehicleTag</td>
<td class="entry">@row.Officer</td>
<td class="entry">@row.HomePhone</td>
<td class="entry">@row.CellPhone</td>
<td class="entry">@row.WeightedAggregate</td>
</tr>
<tr>
<td colspan="13" style="text-align: center;"><form method="post" action="/ComputeLookupToVAndE.cshtml"><input type="hidden" name="veEntryID" hidden="hidden" readonly="true" value="@row.EntryID" /><br/><input type="submit" value="View & Edit" class="btn3" style="height: 40px; width: 100px;" /><br/><br/></form></td>
</tr>
</table>
</div><br/>
ResultCount += 1;
}
<input type="hidden" id="ResultCount" value="@ResultCount" />
<input id="err" type="hidden" value='@err' />
}
来自 JAVASCRIPT 文件的部分:
$(document).ready(function () {
if ($("#err").val() == "err")
{
$("#searchForm").attr('action', "/LookUpEntry.cshtml#top");
}
else
{
$("#searchForm").attr('action', "/LookUpEntry.cshtml#searchList");
}
});
显然,如果变量errorMessage中存储了任何错误消息,我试图在C#呈现页面之前将隐藏输入元素的值更改为“err”。
一旦完成,JavaScript 应该读取这个值,然后如果它是“err”,则更改表单的 action 属性以附加“#top”(对于命名锚,因此页面上的加载位置会根据是否存在要查看的错误消息或结果),否则应更改表单的操作属性(仍由 JavaScript)以附加#searchList)。
知道为什么 JavaScript 和 C# 不能很好地协同工作吗?我得到的错误是偶然的(就像它第一次不起作用,然后根本不起作用),无论如何基于下面的代码,它仍然永远不会去(#top),尽管在尝试一些事情时在这个确切的编码之前(我不记得它们到底是什么),如果它出错了,有时(尽管从来没有第一次)会到达顶部。
为什么 jQuery 没有做好它的工作?看来这应该对我有用...
有任何想法吗?
谢谢你的帮助