使用 Kendo MVC 上传控件将 Javascript/html 变量作为参数传递
Posted
技术标签:
【中文标题】使用 Kendo MVC 上传控件将 Javascript/html 变量作为参数传递【英文标题】:Pass Javascript/html Variable as Parameter with Kendo MVC upload control 【发布时间】:2017-08-05 07:25:24 【问题描述】:需要从 javascript 或 html 字段中传递具有参数集值的附加参数。
在下面的示例中,我如何将 HTML 元素值或 Javascript 变量值传递给 uploadID。
注意:在这个地方使用 ViewModel 有限制。
@(Html.Kendo().Upload()
.Name("files")
.Async(a => a
.Save("Save", "Upload", new uploadID = "XXX" )
.Remove("Remove", "Upload")
.AutoUpload(true)
)
)
【问题讨论】:
您遇到错误了吗?似乎是什么问题? 需要获取JavaScript变量值来代替“XXX”,因为这个控制器在服务器标签@()中,不能直接赋值。有没有办法获取 XXX 的 HTML 隐藏字段的值 【参考方案1】:试试这个:
@(Html.Kendo().Upload()
.Name("files")
.Async(a => a
.Save("Save", "Upload")
.Remove("Remove", "Upload")
.AutoUpload(true)
)
.Events(e => e
.Upload(@<text>
function(e)
e.data = uploadID: your_js_variable ;
</text>)
)
)
【讨论】:
谢谢。能够通过这个传递值并获得控制器。 需要其他帮助。为 e.data 分配的 JS 变量设置为页面加载时设置的初始值,而不反映稍后在 html 中设置的更新值。有什么方法可以刷新 Kendo Upload Controller 以考虑最新值 这很有趣——我原以为每次启动上传时 Kendo 都会获取值。也许尝试传入一个函数(我以前从未尝试过,所以不确定是否可行)?e.data = uploadID: func_that_calculates_value() ;
您可能需要创建一个新问题,因为将所有内容都放在 cmets 区域中有点困难。【参考方案2】:
另一种方式:
@Html.Kendo().Upload().Name("files").Async(a => a
.Save("Async_Save", "ActionCtl")
.Events(events => events.Upload("onUpload")))
<script>
function onUpload(e)
e.data = ItemBankId: @Model.ItemID ;
</script>
【讨论】:
以上是关于使用 Kendo MVC 上传控件将 Javascript/html 变量作为参数传递的主要内容,如果未能解决你的问题,请参考以下文章
javascript MVC 4的kendo UI datepicker验证
Telerik Kendo UI ASP.NET MVC Grid - 已保存数据项的事件处理