我正在处理一个旧的应用程序,这些文件似乎是12+年前制作的。这是一个.NET应用程序。我正在查看的文件是.st文件,我相信以前的开发人员将它们称为字符串模板文件。它们似乎被用作MVC 5.2.3视图。
每次我看到引用的MVC视图都是.cshtml文件。这些文件看起来与.cshtml文件非常不同。他们正在呈现HTML文件,这些文件具有决定显示内容的逻辑。它大多是可读的,但有一些函数,如 strip 或 rest,我不熟悉。我只需要找出如何进一步研究这些东西,这样我就知道如何用新的框架重新创建它并摆脱它。我将包括.st文件的一个片段。
<input id="unique-id" type="hidden" value="$model.UniqueId$" name="uniqueId" />
<input id="id" type="hidden" value="$model.Id$" name="form.Id" />
<input id="version" type="hidden" name="form.Version" value="$model.Version; format="0"$" />
<input id="this-type" type="hidden" value="$model.ItemType.Value$" />
<input type="hidden" name="form.CurrencyConversionFactor" value="$model.CurrencyConversionFactor$" $disabled$ />
我试着在谷歌上研究,并询问聊天GPT许多问题,但没有结论性的结果。聊天GPT一直倾向于一种叫做Smalltalk的古老语言,我不认为这是我在这里处理的。它所做的一切似乎都是正确的工作,我只需要了解它。上面的例子非常简单。名称/值是来自ViewModel的给定变量。
更新
找到文档了!
https://theantlrguy.atlassian.net/wiki/spaces/ST/pages/1409038/StringTemplate+cheat+sheet
2条答案
按热度按时间5n0oy7gb1#
来自Dai的回答。这是一个字符串模板文件。我觉得它比剃刀档案还早。https://theantlrguy.atlassian.net/wiki/spaces/ST/pages/1409038/StringTemplate+cheat+sheet
jhdbpxl92#
这根本不是.NET语法--这是有人想出来在XML文件中做可替换字符串的东西。基本上,一个应用程序(可以用任何东西编写)会寻找那些名字来替换它们。
这绝对不是Smalltalk。这种类型的东西是相当标准的-你想要一些容易识别的东西,所以你在开头和结尾添加标记,并做一个简单的替换。