首页 > 解决方案 > Asp.net 从数据库生成页面

问题描述

可以使用存储在数据库中的 asp.net 生成永久页面吗?例如一些位置/类型,我想做类似单个示例的操作:

地点:纽约 类型:汽车

生成的带有信息的永久页面:

纽约的汽车

生成的链接: mywebsite.com/cars/newyork

目前我已经完成了一个搜索过滤器显示基于选定位置和选定类型的结果。

希望你能给我一些关于这方面的建议。

标签: c#asp.netasp.net-mvcasp.net-mvc-4

解决方案


一种方法是将 HTML 模板保存在 db 中,然后使用 string.Format 插入值

比如这样

string name = "test";
int age = 167;
string test = "{0} format {1}";

string[] args = new string[] { name, age.ToString() };

Console.WriteLine(string.Format(test, args));

印刷:test format 167

然后您返回带有字符串的 View,该字符串是您的带有插入值的 html,然后您使用“显示”(允许浏览器呈现)它

@model string

@Html.Raw(@Model)

https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.htmlhelper.raw?view=aspnet-mvc-5.2

但要小心,因为如果用户能够提供/操作这些值可能会非常危险。阅读有关 XSS 攻击的信息。


推荐阅读