2012-03-01 27 views
0

我正在开发一个MVC3剃须刀的网站,我想发送一个javascript变量作为参数,但我不知道这是否是可行的。代码是这样的:Javascript var作为参数在c#mvc3 razor

function clean(caja) { 
    @{ 
     Inicio.Controllers.kitClass kit = new Inicio.Controllers.kitClass(caja); 
     kit.clean(); 
    } 
} 

感谢您的帮助。

+0

我已经更新了我的例子显示,你可以做到这一点使用封装方法。 – anAgent 2012-03-02 17:42:29

回答

3

不,它不是。你将不得不打一个阿贾克斯电话。

+0

谢谢。最后我做了一个ajax调用,并且很轻松地工作。 – ferpinan 2012-03-20 11:04:41

1

如果你想剃刀VAR传递给一个函数,你可以这样做:

@{ 
    var someItem = "Hello! Welcome to MVC"; 
} 
<script type="text/javascript"> 
    $(document).ready(function() { 
     alert(@someItem); 
    }); 
</script> 

我想你可能会考虑这样的事情作为一种替代方案:

@ {

var kit = new Test.Controllers.kitClass("something"); 
Func<bool,bool> Incio = delegate(bool cleanMe) { return kit.clean(); }; 

}

<script type="text/javascript"> 
    $(document).ready(function() { 
     executeTheFunc(); 
    }); 
    function executeTheFunc() { 
     if('@Incio(true)' == 'True'){ 
      alert("This is clean!"); 
     } else { 
      alert("This is not clean!"); 
     } 
    } 
</script> 

模拟类 - 不知道你是什么样子:

public class kitClass { 
    public kitClass(string something) { 

    } 
    public bool clean() { return true; } 
} 
+0

这是另一回合。他希望将一个JavaScript变量发送给.NET实例方法。 – Umair 2012-03-01 15:36:47

+0

我更新了示例以显示您可以做到这一点。 – anAgent 2012-03-08 21:22:29