服务器错误触发IE而不是Firefox

时间:2011-01-23 16:10:53

标签: asp.net-mvc internet-explorer-8 firefox3.6

我有一个RenderPartial,黄色屏幕IE在这一行

int addLocations = Model.Options.OfType<myOrderRowOption>().Single().AdditionalLocationsCount;

错误是:     异常详细信息:System.InvalidOperationException:Sequence不包含任何元素

FireFox渲染得很好。服务器端错误如何受到哪个浏览器的影响? (这不是回发 - 它是在第一次调用视图时发生的。)

跟进:

好的...所以我清理了代码,使其更加流畅,并且错误状态不再存在。 PartialView的基本要点是填充一个表单,其中orderRow可以容纳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>

0 个答案:

没有答案