我遇到了一个问题,我创建的ASP.NET MVC html帮助器方法每次调用时都不会被"重新生成".
辅助方法的目的是创建要在angularjs框架中使用的Javascript对象.例如,这是一个代码片段,其中使用了helper方法(从html页面的脚本标记内调用):
var app = angular.module( "appName", ["ui.bootstrap"] );
app.controller( 'appCtrl', function( $scope ) {
$scope.model = @Html.ToJavascript( Model, new string[] { "FirstName", "LastName", "ID", "Role" } );
} );
Run Code Online (Sandbox Code Playgroud)
Model是一个具有各种属性的类的实例,但我只希望将FirstName,LastName,ID和Role序列化为javascript对象.
ToJavascript()帮助器方法在statis类中定义如下:
public static HtmlString ToJavascript( this HtmlHelper helper, object toConvert, string[] includedFields = null, Formatting formatting = Formatting.Indented, ReferenceLoopHandling loopHandling = ReferenceLoopHandling.Ignore )
{
using( var stringWriter = new StringWriter() )
using( var jsonWriter = new JsonTextWriter( stringWriter ) )
{
var serializer = new JsonSerializer()
{ …Run Code Online (Sandbox Code Playgroud)