我正在做一个用C#开发的项目,我对C#的了解并不广泛,我前几天才开始学习:)
我遇到了这个功能:
public static IHtmlString RenderEditData<T>(string linkText) where T : CorinaEntity
{
string id = new IdGenerator().Generate<T>();
return new HtmlString(String.Format("<a href=\"#\" data-corina='{{ \"id\" : \"{0}\", \"clrType\" : \"{1}\" }}'>{2}</a>", id, typeof(T).AssemblyQualifiedName, linkText));
}
上面返回了一个链接标签,当我第一次开始做这个项目时这很好,但现在我只需要将data
属性输出为字符串。所以我只是尝试了这个:
public static String RenderEditData<T>() where T : CorinaEntity
{
string id = new IdGenerator().Generate<T>();
return String.Format("data-corina='{{ id : \'{0}\', 'clrType' : \'{1}\' }}", id, typeof(T).AssemblyQualifiedName);
}
问题是,而不是导致这个:
data-corina="{ "id" : "-[Model.Content]", "clrType" : "Model.Content, Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" }"
它返回如下内容:
data-corina="'{" id="" :="" '-[model.content]',="" 'clrtype'="" 'model.content,="" model,="" version="1.0.0.0," culture="neutral," publickeytoken="null'" }=""
显然,我做错了一些字符串转义,但我不知道该怎么做,也不会弄乱我需要的变量。有人可以为我指出正确的解决方案吗?public static IHtmlString RenderEditData
如果我更改为public static String RenderEditData
,如果我想要的结果只是一个字符串,我是否也做错了?