【问题标题】:Passing parameter to Controller Action from Kendo Window refresh in javascript从javascript中的Kendo Window刷新将参数传递给Controller Action
【发布时间】:2015-01-29 10:52:41
【问题描述】:

我有一个简单的问题:使用剑道窗口,我可以这样刷新它:

window.refresh({
    url: '@Url.Action("_EditScheduleInspectionForm", "TLM")',

我想将参数传递给该控制器动作。我尝试了以下方法并且有效:

window.refresh({
    url: '@Url.Action("_EditScheduleInspectionForm", "TLM", new { test = "test"})',

控制器

public PartialViewResult _EditScheduleInspectionForm(string test)

test 变量由传递的字符串“test”填充。但我不想硬编码字符串,我想在那里传递一个 javascript 变量,例如:

var test = "something";
window.refresh({
    url: '@Url.Action("_EditScheduleInspectionForm", "TLM", new { test = test})',

但上述不起作用,变量无法识别。我怎样才能做到这一点?

【问题讨论】:

    标签: javascript asp.net-mvc kendo-ui kendo-window


    【解决方案1】:

    如果您的变量将是一个字符串,那么您始终可以使用 replace 将静态值替换为变量值。请看下面:

    var url = '@Url.Action("_EditScheduleInspectionForm", "TLM", new { test = "testvalue"})',,
    
    var jsvariable = "something";
    
    window.refresh({
    url: url.replace("TLM",jsvariable ),
    

    或者以更简单的方式,您可以直接执行以下操作:

    var test = "something";
    window.refresh({
    url: '@Url.Action("_EditScheduleInspectionForm", "TLM", new { test = ' + test +'})',
    

    【讨论】:

    • 第二个解决方案不起作用,但上述工作正常。虽然我必须传递一个虚拟字符串然后替换,但结果行为正是我想要的。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 2014-09-05
    • 1970-01-01
    相关资源
    最近更新 更多