【问题标题】:Pass Javascript/html Variable as Parameter with Kendo MVC upload control使用 Kendo MVC 上传控件将 Javascript/html 变量作为参数传递
【发布时间】: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 隐藏字段的值

标签: javascript c# jquery asp.net-mvc kendo-ui


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    相关资源
    最近更新 更多