【发布时间】:2014-11-11 09:15:25
【问题描述】:
在我的 angularjs 控制器的某个地方,我有这个变量:
$scope.variableForRazor = "Test Value For RAZOR!";
我希望在通过 razor 调用 C# 函数时将此变量作为参数传递。这是简化的 c# 代码:
public static string ShowMessage(string msg)
{
return msg;
}
剃须刀:
@CSharpMethod.ShowMessage("{{variableForRazor}}")
问题在于传递的值是{{variableForRazor}} 本身。
如何修改它,以便当我在ShowMessage 上设置断点时,将通过的值是Test Value For RAZOR!。
我也尝试了以下但不起作用。
@CSharpMethod.ShowMessage("variableForRazor")
@CSharpMethod.ShowMessage({{variableForRazor}}) // does not compile
@CSharpMethod.ShowMessage(variableForRazor) // does not compile
【问题讨论】:
-
您问了一个非常好的问题......如何利用您的 Razor 值并将它们无缝传递给 Angular 而无需往返。一种方法是隐藏 ` 我知道这看起来并不优雅,但它是直接进入 angular
$scope的途径。另一种方法是使用 ng-init,如<div class="row-fluid" ng-controller="PersonDetailsController" ng-init="personId=@Model.Id">
标签: c# asp.net-mvc angularjs razor