我有一个 RenderPartial 在这一行显示黄色屏幕 IE
int addLocations = Model.Options.OfType<myOrderRowOption>().Single().AdditionalLocationsCount;
错误是:异常详细信息:System.InvalidOperationException:序列不包含任何元素
FireFox 渲染得很好。服务器端错误如何受到正在处理的浏览器的影响?(这不是回发——它发生在第一次调用视图时)。
跟进:
好的...所以我清理了代码以使其更具表现力,并且错误情况不再存在。PartialView 的基本要点是填充一个表单,其中 orderRow 可以容纳 2 种不同类型的输入 - 一个单选按钮组,可能还有一个文本框。
最初我有 2 个单独的 FOREACH 循环来遍历所有选项,并在第一个中写出单选按钮,在第二个中写出文本框。(在每个循环内都有一个“If OptionType”测试。
我将其更改为 1 FOREACH 循环并改用 ELSE 分支。这清除了错误条件,但我仍然没有看到在非回发条件下浏览器如何影响服务器端条件。
此代码结构有效 - 下面的注释详细说明了与原始错误条件的差异。
<div class="showOrderRow">
<%string isChecked = "";
foreach (var option in WebinarFacade.Instance.GetOptions(Model.Webinar))
{
isChecked = (int)Model.RegistrationType == option.ID ? "checked" : "";
var optionType = option.GetType();
if (optionType.Name == "Option")
{%>
<input type="radio" ... />
<%
}
// originally this foreach loop ended and a started
//a 2nd one with a test that would exlcude the radio buttons
//if (optionType.Name != "Option")
else
{//point of original error
int addLocations = Model.Options.OfType<myOrderRowOption>().Single().optionCount;
%>
<br />
<h5>
Additional Locations</h5>
<input type="text" value="<%=addLocations%>" );'
name="Count<%=Model.Order.ID %>"
<%
}
}
</div>