2017-10-19 32 views
0

Ma page Web a une grille de kendo chargée avec des images et un bouton "Carte graphique".passage de l'image à la fenêtre contextuelle de Kendo [Demander Uri trop longtemps 414]

enter image description here Lorsque l'on clique sur « Graph Map », une autre fenêtre apparaît qui affiche l'image en premier enregistrement de la grille, puis sur le bouton « Suivant »/« prev » clics, nous pouvons passer à la deuxième, troisième images et ainsi de suite ...

Je fournirai une version réduite de toute mon avis comme suit

<div class="container" onclick="onContainerClick();"> 
<div class="row"> 
    <div id="tabstrip"></div> 
    <div class="col-md-12 table-responsive table-bordered" style="padding-right: 0px; padding-left: 0px" id="mapsDiv" width="100%"> 

    </div> 
</div> 
<div class="row col-md-12 col-md-push-11"> 
    <button id="btnGraph" onclick="onShowGraph()">Graph Map</button> 
</div> 

<div id="graphsWindow" > 
    <div class="table" style="height:700px;"> 
    <div class="row" style="margin-left:0px;margin-top:0px; padding-top:0px; padding-bottom:0px"> 

    <div style="border:groove; margin-left:10px; margin-bottom:0px; padding-bottom:0px; margin-right:2px;" class="col-md-2"> 
     <div class="row" style="padding-top:5px; margin-top:0px; padding-left:5px; padding-right:5px"> 
      <div class="col-md-1" style="padding-left:0px; margin:0px; width:auto;"> 
       <img src="~/Images/profile.png" height="85" width="85" id="studentPhoto"/> 
      </div> 
      </div> 
     </div> 
    </div> 
    </div> 
</div> 

onShowGraphs

function onShowGraphs(){ 
    var window = $("#graphsWindow").data("kendoWindow"); 
    ... 
    var grid = $('#mapsDiv').data("kendoGrid"); 
     var rows = grid.dataSource.data(); 

    $('#studentPhoto').attr("src", rows[_currGridRowNo]["photo"]); 

    window.open().center(); 
} 

Dans ce cas, j'obtiens l'erreur [demande Uri trop long 414].

  1. Pourquoi le kendoWindow utilise-t-il ces données comme une chaîne de requête bien que la fenêtre soit présente dans la même vue?

  2. Comment puis-je résoudre ce problème?

Répondre

0

Il me suffisait d'ajouter "data: image/gif; base64,". Donc, ma fonction devient

function onShowGraphs(){ 
var window = $("#graphsWindow").data("kendoWindow"); 
... 
var grid = $('#mapsDiv').data("kendoGrid"); 
var rows = grid.dataSource.data(); 

$('#studentPhoto').attr("src", "data:image/gif;base64," + rows[_currGridRowNo]["photo"]); 

window.open().center();}