Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.net MVC或简单C#从模板生成文件_C#_Asp.net_.net_Asp.net Mvc - Fatal编程技术网

ASP.net MVC或简单C#从模板生成文件

ASP.net MVC或简单C#从模板生成文件,c#,asp.net,.net,asp.net-mvc,C#,Asp.net,.net,Asp.net Mvc,我有一个Asp.NETMVC5应用程序后端。 我想在控制器中添加一个函数,在服务器文件夹中动态创建html。 我希望这个html是从模板生成的。 例如: 模板: <html><head/> <body> {CSharpVar} </body> </html> 使用哪种方法或类最好?您可以尝试使用()来编译模板,它是一个引擎,并在visual studio中使用自定义生成操作,以便在更改时重新编译。使用MVC有什么问题?对于面向公众的网

我有一个Asp.NETMVC5应用程序后端。 我想在控制器中添加一个函数,在服务器文件夹中动态创建html。 我希望这个html是从模板生成的。 例如:

模板:

<html><head/> <body> {CSharpVar} </body> </html>

使用哪种方法或类最好?

您可以尝试使用()来编译模板,它是一个引擎,并在visual studio中使用自定义生成操作,以便在更改时重新编译。

使用MVC有什么问题?对于面向公众的网站来说,这是一种危险的做法,因为您必须授予IIS进程对文件系统的写访问权。你想在哪里写这些文件?代码中最简单的方法可能是对模板参数进行编号,
{0},{1}
等等。。。然后您可以只使用
String.Format(htmlTemplateSourceCode,arg1,arg2)
的可能副本,并且可以轻松修改以获得完整视图。无需重新发明轮子。根据您想要实现的目标,像dotliquid这样的安全模板系统可能会更好。您仍然需要考虑将文件写入服务器的风险,并确保它们是良性的HTML:
MyObject mObj= new MyObject();
mObj.CSharpVar= "String TEst";
MyWantedClass.CreateHtml(htmlTemplate,mObj,outputPath);