怎样的base64字符串非常大量绑定剑道格? [英] How do I bind very huge amount of base64 string in kendo grid?
问题描述
我要加载被装订成图像和剑道电网音响控制的base64字符串的巨量。但数据可以在电网无法加载,我尝试了超过24行,没关系。在过去的30行,它可能不是一定要在电网负荷。我该如何解决这个问题?任何帮助!我也COM preSS的字符串的base64,it'not正常工作。我想COM preSS原始文件大小的两倍大小。使用的文件类型为JPG,WAV,PCM,3GPP和3GP。
下面是我的模型,
字节公众[] {MULTIMEDIANOTEDATA获得;组; } 公共字符串strMULTIMEDIANOTEDATA {搞定;组; } 公共字符串MULTIMEDIANOTEDATA64
{
得到
{
返回MULTIMEDIANOTEDATA!= NULL? Convert.ToBase64String(MULTIMEDIANOTEDATA):空;
}
}
下面是我的控制器,
公众的ActionResult GetNoteItems([DataSourceRequest] DataSourceRequest要求)
{
//获取模型
清单< NotesModel>注=新的List< NotesModel>(); 清单< NotesModel> lstNotes =(新CitationFactory(Session[Constants.Security.AIConnectionStringSessionVariableName].ToString())).GetNotes(); 的foreach(在lstNotes VAR项)
{
Notes.Add(新NotesModel
{
NOTEDATE = item.NOTEDATE,
NOTESMEMO = item.NOTESMEMO,
MULTIMEDIANOTEDATATYPE = item.MULTIMEDIANOTEDATATYPE.ToString()。替换(\\,),
MULTIMEDIANOTEFILENAME = item.MULTIMEDIANOTEFILENAME,
MULTIMEDIANOTEDATA = item.MULTIMEDIANOTEDATA,
});
} INT总= 0;
如果(Notes.Any())
总= Notes.Count(); VAR的结果=新DataSourceResult
{
数据=注,
总=总
};
VAR jsonResult = JSON(结果,JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
返回jsonResult;
}
我发现我的解决方案如下:
在我看来:
@(Html.Kendo()网格和LT。NotesModel>()
.DataSource(数据源=> dataSource.Ajax()读(读=方式>。read.Action(GetNoteItems,引文))ServerOperation(真).PageSize(20)
))
在我的控制器:
INT当前页= request.Page;
INT的pageSize = request.PageSize; 如果(当前是== 1)
{
partialNote = Notes.Take(pageSize的).ToList();
}
其他
{
partialNote = Notes.Skip(当前页* pageSize的 - 20)。取(pageSize的).ToList();
}
我以前跳过和采取的LINQ功能的,这对我来说做工精细。在controller.You仅用于分页内部逻辑可以遵循此链接<一个href=\"http://docs.telerik.com/kendo-ui/third-party/tutorials/webforms/asp-net-hello-kendo-ui-part-1#handle-request-parameters\" rel=\"nofollow\">http://docs.telerik.com/kendo-ui/third-party/tutorials/webforms/asp-net-hello-kendo-ui-part-1#handle-request-parameters
我希望这个解决方案将是解决您剑道电网数据加载分页问题更好。好运:)
I want to load huge amount of base64 string that was bind into image and audio control in kendo grid. But the data cannot load in grid, i try for over 24 rows , that's ok. For over 30 rows , it might not sure to load in grid. How do I solved this problem? Anyone Help !!! I also compress that base64 string , it'not work properly. I want to compress double size of original file size. The use of file types are jpeg, wav, pcm, 3gpp, and 3gp.
Here is my model,
public byte[] MULTIMEDIANOTEDATA { get; set; }
public string strMULTIMEDIANOTEDATA { get; set; }
public string MULTIMEDIANOTEDATA64
{
get
{
return MULTIMEDIANOTEDATA != null ? Convert.ToBase64String(MULTIMEDIANOTEDATA) : null;
}
}
Here is my controller,
public ActionResult GetNoteItems([DataSourceRequest] DataSourceRequest request)
{
//get models
List<NotesModel> Notes = new List<NotesModel>();
List<NotesModel> lstNotes = (new CitationFactory(Session[Constants.Security.AIConnectionStringSessionVariableName].ToString())).GetNotes();
foreach (var item in lstNotes)
{
Notes.Add(new NotesModel
{
NOTEDATE = item.NOTEDATE,
NOTESMEMO = item.NOTESMEMO,
MULTIMEDIANOTEDATATYPE = item.MULTIMEDIANOTEDATATYPE.ToString().Replace("\"", ""),
MULTIMEDIANOTEFILENAME = item.MULTIMEDIANOTEFILENAME,
MULTIMEDIANOTEDATA = item.MULTIMEDIANOTEDATA,
});
}
int total = 0;
if (Notes.Any())
total = Notes.Count();
var result = new DataSourceResult
{
Data = Notes,
Total = total
};
var jsonResult = Json(result, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}
I found my solution as follows:
In my view:
@(Html.Kendo().Grid<NotesModel>()
.DataSource(dataSource => dataSource.Ajax().Read(read => read.Action("GetNoteItems", "Citation")).ServerOperation(true).PageSize(20)
))
In my controller:
int currentPage = request.Page;
int pageSize = request.PageSize;
if (currentPage == 1)
{
partialNote = Notes.Take(pageSize).ToList();
}
else
{
partialNote = Notes.Skip(currentPage * pageSize - 20).Take(pageSize).ToList();
}
I used Skip and Take Linq functions for that, it's fine work for me. Only used pagination internal logic in controller.You can follow this link http://docs.telerik.com/kendo-ui/third-party/tutorials/webforms/asp-net-hello-kendo-ui-part-1#handle-request-parameters
I hope this solution would be better for solving your kendo grid data load paging problem. Good Luck :)
这篇关于怎样的base64字符串非常大量绑定剑道格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!