2016-08-19 4 views
0

격자보기 내부에이 단추가있는 프로젝트를 수행 중이며 내부에 데이터가있는 팝업이 표시되어야하는 모달이 필요합니다. 비슷한 게시물을 보았지만 Asp.net-mvc (4.5)를 사용하지 마십시오. 내가 버튼 작동하는
, 나는 그것을 테스트하기 위해 alert()을 사용,하지만 난에 넣고 때 풍력하기 위해 참조하는 오류Kendo UI, Asp.net 모달 클릭 이벤트

"Index:144 Uncaught TypeError: Cannot read property 'content' of null"

를 얻을. Content(detailsTemplate(dataItem)). 내 생각을 빌려주세요.

@(
    Html.Kendo().Grid<PartsViewModel>().Name("serializes") 
.Columns(columns => 
    { 
     columns.Bound(parts => parts.PartNumber).Width(40); 
     columns.Bound(parts => parts.DrawingNumber).Width(40); 
     columns.Bound(parts => parts.SupplierName).Width(40); 
     columns.Bound(parts => parts.SupplierNumber).Width(40); 
     columns.Bound(parts => parts.Description).Width(40); 
     columns 
.Command(command => command.Custom("ViewDetails") 
.Click("showDetails")).Width(15); 
    }) 
    .Pageable(Settings.Telerik.Grid.Pageable) 
    .Sortable(Settings.Telerik.Grid.Sortable) 
    .Reorderable(Settings.Telerik.Grid.Reorderable) 
    .Resizable(Settings.Telerik.Grid.Resizable) 
    .Scrollable(Settings.Telerik.Grid.Scrollable) 
    .Filterable(Settings.Telerik.Grid.Filterable) 
    .ColumnMenu(Settings.Telerik.Grid.ColumnMenu) 
    .DataSource(datasource => datasource.Ajax() 
     .Events(events => events.Error("error_handler")) 
     .PageSize(Settings.Telerik.Grid.Pages.PageSize).Model(model => 
     { 
      model.Id(partSearch => partSearch.PartId); 
      model.Field(partSearch => partSearch.PartNumber); 
      model.Field(partSearch => partSearch.DrawingNumber); 
      model.Field(partSearch => partSearch.SupplierName); 
      model.Field(partSearch => partSearch.RevisionNumber); 
      model.Field(partSearch => partSearch.RevisionDescription); 
      model.Field(partSearch => partSearch.RevisionDate); 
      model.Field(partSearch => partSearch.ShortDescription); 
      model.Field(partSearch => partSearch.ShortDescription); 
      model.Field(partSearch => partSearch.PurchasingComments); 
      model.Field(partSearch => partSearch.ManufacturingComments); 
      model.Field(partSearch => partSearch.EngineeringComments); 
      model.Field(partSearch => partSearch.Description); 
     }) 
     .Read(read => read.Action("ReadPartSearch", "PartsSearch")) 
     /*.Create(update => update.Action("CreateParts", "Search"))*/) 
) 

@section scripts{ 
<script type="text/x-kendo-template" id="template"> 
    <div id="details-container"> 
     <h2>#= Created # #= LastName #</h2> 
     <em>#= Title #</em> 
     <dl> 
      <dt>City: #= City #</dt> 
      <dt>Address: #= Address #</dt> 
     </dl> 
    </div> 
</script> 

<script>  
    var detailsTemplate = kendo.template($("#template").html()); 

    function showDetails(e) { 
     e.preventDefault(); 

     var dataItem = this.dataItem($(e.currentTarget).closest("tr")); 

     var wnd = $("#Details").kendoWindow({ 
      title: "Details", 
      content: "Created", 
      modal: true, 
      visible: false, 
      resizable: false, 
      width: 300 
     }).data("kendoWindow"); 
     detailsTemplate = kendo.template($("#template").html()); 

     wnd.content(detailsTemplate(dataItem)); 
     wnd.center().open(); 
    } 

    function error_handler(args) { 
     searcher.kendoGrid.errorHandler($("#serializes"), args); 
    }; 

    function clearFilter(e) { 
     e.preventDefault(); 
     var grid = $("#serializes").data("kendoGrid"); 
     grid.dataSource.filter({}); 
    }; 
    $(function() { 
     //searcher.kendoGrid.initClearButton($("#serializes"), clearFilter); 
     searcher.kendoGrid.autoResize($('#serializes'), getSubtractors()); 
    }); 
</script> 
} 
+0

dataItem = i {_events : Object, _handlers : Object, PartId : 16773, PartNumber : "70706", ShortDescription : "FILTER"...}, e = i.Event {originalEvent : MouseEvent, type : "click", timeStamp : 50880.9, jQuery1102026239493182004714 : true, toElement : ak-button.k-button-icontext.k-grid-ViewDetails ... – Brownbagger11

답변

0

"# 세부 사항"이 코드에 정의되어 있지 않으므로 ergo 내용이 null입니다.

+0

은 'content'가 아니고'wnd'입니다. – Igor

관련 문제