【问题标题】:Asp.net Generating Pages from DBAsp.net 从数据库生成页面
【发布时间】:2019-01-21 13:00:01
【问题描述】:

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

地点:纽约 类型:汽车

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

纽约的汽车

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

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

希望你能给我一些建议。

【问题讨论】:

  • “永久页面”是什么意思?
  • 为什么不拥有一个视图并将“生成”的数据从数据库传递到该视图?
  • 我想你想要像角度方法这样的东西?您可以通过 Angular 或类似的框架来安全且真正有效地完成此操作。
  • @SeM 也许是正确的做法,但问题是我有几十个位置和几十个类型。无论如何,谢谢大家的答案,我将对此进行深入搜索。

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


【解决方案1】:

一种方法是将 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

然后您返回带有字符串的视图,该字符串是您的带有插入值的 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 攻击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 2011-10-24
    • 2011-05-14
    相关资源
    最近更新 更多