无法将类型'RazorEngine.Text.RawString'隐式转换为'string'

时间:2013-10-16 00:26:42

标签: c# razor view

我没有必须每次定义它,而是做了一个子模板来确定产品是:库存,缺货,停产等。

所以在我的主模板中,我想根据返回的值显示一些内容。

当我使用@Raw(Model.TemplateUtil.Subtemplate("SubAvailabilityCheck"))时,我得到了正确的值(即在库存或即将推出等)。

但是当我添加以下内容来声明我的变量时:

string stockCheck = Raw(Model.TemplateUtil.Subtemplate("SubAvailabilityCheck"));

它给了我:错误:无法将类型'RazorEngine.Text.RawString'隐式转换为'string'

当我转换为字符串时,它会输出整个html代码,其中包含标记模板开头和结尾的默认html注释等.RWW会删除除内容之外的所有内容。

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

Raw()函数只是将你传递给它的字符串包装在RawString中,这告诉RazorEngine不要将它转义为HTML。

由于错误试图告诉您,RawString不是字符串,无法存储在string变量中。

将变量更改为RawString类型。