gpt4 book ai didi

c# - 对于站点上下文之外的模型,允许在 MVC 中将 HTML 用于文本区域

转载 作者:行者123 更新时间:2023-11-30 17:56:53 24 4
gpt4 key购买 nike

我在域模型上有一个描述字段,我想打开它以允许使用 html。当我提交表单时,我收到了“可能有危险的请求”yada....这是我预料到的,但事实证明很难用我当前的设置进行补救。

我的 View 模型有多个对象,例如:

public class MyViewModel
{
public ISomething Something { get; set; }
public IAnotherThing Another { get; set; }
}

ISomething 包含描述,接口(interface)和类本身在 mvc 站点的另一个项目中定义。

虽然我确定我可以在 Controller 操作上添加 ValidateInput(false) 属性,但我不一定要打开所有打开的东西...只是这个特定的描述。

无论如何,[AllowHtml] 似乎是答案,但它是在 System.Web.Mvc 中定义的。添加对外部库的引用让我很痛苦,但我咬紧牙关,我什至无法添加该引用,因为它不在我的可用列表中,即使它与 mvc4 应用程序位于同一解决方案中。

我忍不住想象其他人已经能够克服这一点,但我似乎被打败了。非常感谢任何帮助!

最佳答案

您是否尝试过使用 MetaDataType 属性来扩展您的模型?

如果您的模型是分部类,您可以:

namespace YourModelsNamespace
{
[MetadataType(typeof(ISomethingMD))]
public partial class ISomething
{
}

public partial class ISomethingMD
{
[AllowHtml]
public string Descriptin { get; set; }
}
}

这样您就可以“扩展”模型,并为该特定属性设置元数据。这些类将在您的 MVC 项目中,因此您可以更好地控制模型。这种方法可用于添加显示名称属性,以及 DataAnnotations 命名空间中的其他属性。

请注意,此类的命名空间应与您的模型相同。

关于c# - 对于站点上下文之外的模型,允许在 MVC 中将 HTML 用于文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13751694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com