将图像传递给 kendo 弹出窗口 window [请求 Uri 太长 414]
passing image to kendo popup window [Request Uri too long 414]
我的网页有 kendo 个加载了图像的网格和一个 "Graph Map" 按钮。
当我们点击 "Graph Map" 按钮时,会弹出另一个 window 显示网格第一条记录中的图像,然后在 "Next"/"Prev" 按钮上点击我们可以移动到第二张、第三张等...
我提供了我的整个观点的最小化版本如下
<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();
}
在这种情况下,我得到错误 [Request Uri too long 414]。
为什么 kendoWindow 将此数据作为查询字符串,尽管 window 存在于同一视图中?
我该如何解决这个问题?
我只需要添加 "data:image/gif;base64,"。所以我的函数变成了
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();}
我的网页有 kendo 个加载了图像的网格和一个 "Graph Map" 按钮。
我提供了我的整个观点的最小化版本如下
<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();
}
在这种情况下,我得到错误 [Request Uri too long 414]。
为什么 kendoWindow 将此数据作为查询字符串,尽管 window 存在于同一视图中?
我该如何解决这个问题?
我只需要添加 "data:image/gif;base64,"。所以我的函数变成了
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();}