0

我有 asp.net 下拉列表,它从 asp.net web 方法填充到 jquery 中。我可以在 IE9+、FF、Chrome 中看到应有的数据,如下图所示:

在此处输入图像描述

在 IE8 中,这是我得到的:

在此处输入图像描述

查看页面的源代码,我可以看到文本和值,但我在屏幕上得到空白值。这是我正在使用的网络方法:

[WebMethod]
public static List<TraceabilityData> fetchData(int orderlineBomId)
{
    Assembly _ass = new Assembly();
    Dictionary<string, string> List = new Dictionary<string, string>();
    var values = new List<TraceabilityData>();
    List = _ass.traceabilityDataset(orderlineBomId);
    foreach (KeyValuePair<string, string> val in List)
    {
        values.Add(new TraceabilityData { Id = Convert.ToInt32(val.Key), Content = val.Value });
    }
    return values;
}

和jquery函数:

 $.ajax({
                      type: "POST",
                      url: "Index.aspx/fetchData",
                      data: "{orderlineBomId: '" + orderlinebomid + "'}",
                      contentType: "application/json; charset=utf-8",
                      dataType: "json",
                      success: function (response) {
                          var dropdown = $('#<%=ddlTraceability.ClientID %>');
                          dropdown.empty();
                          dropdown.append(new Option(" ", 0));
                          $.each(response.d, function (index, item) {
                              dropdown.append(new Option(item.Content, item.Id));
                          });
                      },
                      error: function (xhr, ajaxOptions, thrownError) {
                          console.log("Ajax Error");
                          alert(xhr.responseText);
                      }
                  });

每一个建议都更受欢迎。提前致谢, Laziale

4

1 回答 1

0

你很接近。在这种情况下,我使用这种方法让 IE8 开心

将您的成功回调函数更改为此

 success:  function (response) {
                      var dropdown = $('#<%=ddlTraceability.ClientID %>');
                      dropdown.empty();
                      dropdown.append($('<option></option>').val("0").html("");
                      $.each(response.d, function (index, item) {
               dropdown.append( $('<option></option>').val(item.Id).html(item.Content));

                      });
                  },
于 2013-09-03T20:30:26.127 回答