Asp.net mvc 剑道ui文件上传插件移除按钮自定义
我是剑道用户界面的新手,我正在asp.NETMVC应用程序中使用文件上传插件。一切工作都像梦一样。但我还有一个额外的要求。当我上传文件时,我给图像文件分配了一个唯一的图像guid,然后上传,然后返回回调函数Asp.net mvc 剑道ui文件上传插件移除按钮自定义,asp.net-mvc,jquery-ui,kendo-ui,Asp.net Mvc,Jquery Ui,Kendo Ui,我是剑道用户界面的新手,我正在asp.NETMVC应用程序中使用文件上传插件。一切工作都像梦一样。但我还有一个额外的要求。当我上传文件时,我给图像文件分配了一个唯一的图像guid,然后上传,然后返回回调函数 <script type="text/javascript"> $(document).ready(function () { $("#attachments").kendoUpload({ async: {
<script type="text/javascript">
$(document).ready(function () {
$("#attachments").kendoUpload({
async: {
saveUrl: '@Url.Action("UploadBlogImages", "Blog")',
removeUrl: '@Url.Action("Remove", "Blog")',
autoUpload: true
},
success: function (data) {
var imageGuids = data.response;
$.each(imageGuids, function (index, imageGuid) {
$('#form_uploadPic').append('<input type="hidden" value=' + imageGuid + 'name="ImgGuid">');
});
}
});
});
</script>
$(文档).ready(函数(){
$(“#附件”).kendoUpload({
异步:{
saveUrl:'@Url.Action(“UploadBlogImages”,“Blog”),
removeUrl:'@Url.Action(“删除”、“博客”),
自动上载:true
},
成功:功能(数据){
var imageGuids=data.response;
$.each(imageGuid、函数(索引、imageGuid){
$('#form_uploadPic')。追加('');
});
}
});
});
当用户单击“删除”按钮时,我需要删除该文件,但我的问题是,
默认情况下,“删除”按钮会将文件名(上传时使用的)作为要删除的文件名
在上载到服务器之前重命名文件。我正在为文件分配唯一的guid。我已将该guid返回给成功函数。如何配置,以便“删除”按钮将该guid传递给服务器以删除文件
谢谢,
这是一个有趣的场景。现在有两种方法:
fileNames
data-*属性。将检索到的fileNames
对象的name
属性设置为从服务器返回的guid值。这实质上更新了剑道上传控件的删除功能所使用的文件名。(如果你能找到原始源代码,寻找removeUploadedFile和_submitRemove的方法,所有这些都很有意义)有趣的情景。现在有两种方法:
fileNames
data-*属性。将检索到的fileNames
对象的name
属性设置为从服务器返回的guid值。这实质上更新了剑道上传控件的删除功能所使用的文件名。(如果你能找到原始源代码,寻找removeUploadedFile和_submitRemove的方法,所有这些都很有意义)另一个选项是将id添加到文件对象本身,因此在onSuccess处理程序中添加以下内容:
function onUploadSuccess(e) {
//add the id returned in the json from the upload server script
e.files[0].id=e.response.id;
}
然后在移除处理程序中,将名称更改为id:
function onUploadRemove(e) {
var files = e.files;
for(i=0;i <files.length;i++){
//replace the name with the id added to the object
files[i].name=files[i].id;
}
}
适用于最新的kendoUI另一个选项是将id添加到文件对象本身,因此在onSuccess处理程序中添加以下内容:
function onUploadSuccess(e) {
//add the id returned in the json from the upload server script
e.files[0].id=e.response.id;
}
然后在移除处理程序中,将名称更改为id:
function onUploadRemove(e) {
var files = e.files;
for(i=0;i <files.length;i++){
//replace the name with the id added to the object
files[i].name=files[i].id;
}
}
适用于最新的kendoUIHi Joel,但我无法将guid显示为文件名,因为它看起来不太好。是否有其他解决方法。感谢您的合作。更新
fileNames
数据属性的name
属性不会影响显示的文件名。它位于li下的一个跨度内,但您永远不会操纵该元素的html。使用Firebug inspection进行一次尝试,你就会明白我在说什么。另一个推荐的扩展是FireQuery,它可以检查数据属性值。我的检查屏幕截图让您了解情况:嗨,Joel,但我无法将guid显示为文件名,因为它看起来不太好。是否有其他解决方法。感谢您的合作。更新文件名
数据属性的名称
属性不会影响显示的文件名。它位于li下的一个跨度内,但您永远不会操纵该元素的html。使用Firebug inspection进行一次尝试,你就会明白我在说什么。另一个推荐的扩展是FireQuery,它可以检查数据属性值。我的检查屏幕截图让您了解情况: