1

Infragistics 그리드를 렌더링하려고 할 때 오류가 발생하며 그 원인을 찾지 못했습니다. 검색된 포럼 등 ... 1423 행의 처리되지 않은 예외 16에서 평가 코드 '0x800a01b6 - 자바 스크립트 런타임 오류 : 객체가 속성 또는 메소드를 지원하지 않습니다.'igGrid '가 발생했습니다. 런타임에 생성 된 평가 코드 $ (function() # FileContent')에 파일이 생성되었습니다. 동일한 결과가있는 GridModel 대신 모음을 사용하려고 시도했습니다. 내 오류는 어디에 있습니까? Infragistics에서 저에게 돈을 원합니다. 답변 질문 ... Visual Studio 2017을 사용하고 있는데 ASP.NET MVC 4 프로젝트입니다. 컨트롤러 응답이 작동합니다. O K 클라이언트가 눈금을 렌더링하려고하면 오류가 발생합니다.개체가 속성 또는 메서드 'igGrid'를 지원하지 않습니다.

도와주세요!

감사합니다.

내 모델 :

public class SasFileViewModel 
{ 
    public int Id { get; set; } 

    [Display(Name = "File Name")] 
    public string Name { get; set; } 

    [Display(Name = "File Path")] 
    public string Path { get; set; } 

    public string Header { get; set; } 

    public virtual List<SasFileLine> Content { get; set; } 
} 

public class SasFileLine 
{ 
    public int Id { get; set; } 
    public List<string> Fields { get; set; } 
} 

public class SasFileListViewModel 
{ 
    [Display(Name = "File Id")] 
    public int SelectedFileId { get; set; } 
    public SelectList SasFiles { get; set; } 
} 

내 컨트롤러 :

public ActionResult SelectedSasFile(int selectedFileId) 
    { 
     if (!ModelState.IsValid) 
      return View(); 

     var model = GetSasFile(selectedFileId); 
     return PartialView(model); 
    } 

    private GridModel GetSasFile(int selectedFileId) 
    { 
     var sasFile = new SasFileViewModel() 
     { 
      Id = 0, 
      Content = new List<SasFileLine>() 
     }; 

     var sasFileDtoList = SasAsp.BusinessLibrary.SasFile.GetSasFiles().ToList(); 
     if (sasFileDtoList != null && sasFileDtoList.Count > 0) 
     { 
      var dto = sasFileDtoList.Where(x => x.Id == selectedFileId).First(); 

      var fileName = Path.Combine(dto.Path, dto.Name); 
      var sasFileDto = SasAsp.BusinessLibrary.SasFile.GetSasFile(fileName); 

      sasFile = MapToModel(sasFileDto); // just maps data transfer objects to the model 
     } 

     var fileContentGrid = CreateGrid(sasFile); 
     return fileContentGrid; 
    } 

    private static GridModel CreateGrid(SasFileViewModel sasFile) 
    { 
     var fileContentGrid = new GridModel 
     { 
      ID = "FileContent", 
      DataSource = sasFile.Content.ToList().AsQueryable(), 
      AutoGenerateColumns = true 
     }; 

     return fileContentGrid; 
    } 

구라 내 부분보기 :

@using Infragistics.Web.Mvc 
@using SasAspMvc.Models 
@model GridModel 

<link href="~/IgniteUI/css/structure/infragistics.css" rel="stylesheet" /> 
<link href="~/IgniteUI/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> 

<script type="text/javascript" src="~/IgniteUI/js/infragistics.core.js"></script> 
<script type="text/javascript" src="~/IgniteUI/js/infragistics.lob.js"></script> 

@(Html.Infragistics().Grid(Model)) 

내 인덱스보기 :

@using SasAspMvc.Models 
@model SasFileListViewModel 

@{ 
    ViewBag.Title = "SAS Files"; 
} 

<h2>@ViewBag.Title.</h2> 

@{Html.RenderPartial("SasFileList", Model); } // This renders a combo box with a list of existing files too choose from 

<table id="FileContent" style="white-space: pre-line"></table> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#SelectedFileId").on("change", function() { 
     var id = $('#SelectedFileId').val(); 
     showSelectedFile(id); 
    }); 
}); 

function showSelectedFile(id) { 
    $("#FileContent").html('<b>Please wait...</b>'); 
    //debugger; 
    $("#FileContent").load('@(Url.Action("SelectedSasFile", "SasFiles", null, Request.Url.Scheme))?selectedFileId=' + id); 

} 
012,351

+1

고마워요, 콘스탄틴. 나는 이미 이것들을 이미 포함시켰다. 이제 Infragistics가 필요로하는 다른 버전의 jQuery를 추가하여이 문제를 해결했습니다. 결국 Visual Studio 용 Infragistics Ignite UI 플러그인을 올바르게 설치 한 것 같습니다. – Cristian

답변

0

Ignite UI의 corelob 스크립트 전에 jQuery 및 jQuery UI를 포함해야합니다.

<script 
    src="https://code.jquery.com/jquery-3.2.1.min.js" 
    integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" 
    crossorigin="anonymous"></script> 
<script 
    src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" 
    integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" 
    crossorigin="anonymous"></script>