2

我使用了 FromJsonAttribute (由Steve Sanderson创建),它非常棒,但遗憾的是它没有关注 AllowHtml 属性。我有以下模型:

public class HKNewsPaperViewModel
{
    public int Id { get; set; }

    public string UserId { get; set; }

    public string UserName { get; set; }

    public string RPublisher { get; set; }

    public string REditor { get; set; }

    public string Title { get; set; }

    public bool IsDraft { get; set; }

    public bool IsNew { get; set; }

    public List<HKNewsItemViewModel> NewsItems { get; set; }

    public HKNewsPaperViewModel()
    {
        NewsItems = new List<HKNewsItemViewModel>();
    }

}
public class HKNewsItemViewModel
{
    public int Id { get; set; }

    public string Title { get; set; }

    public string Link { get; set; }

    [AllowHtml]
    public string Body { get; set; }
}

在我的控制器中,我以这种方式接收数据:

    [HttpPost]
    public ActionResult New([FromJson] HKNewsPaperViewModel model)
    {
        return View();
    }

FromJson 属性如下所示:

public class FromJsonAttribute : CustomModelBinderAttribute
{
    private readonly static JavaScriptSerializer serializer = new JavaScriptSerializer();

    public override IModelBinder GetBinder()
    {
        return new JsonModelBinder();
    }

    private class JsonModelBinder : IModelBinder
    {
        public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            var stringified = controllerContext.HttpContext.Request[bindingContext.ModelName];
            if (string.IsNullOrEmpty(stringified))
                return null;
            return serializer.Deserialize(stringified, bindingContext.ModelType);
        }
    }
}

我的问题是我无法在 AllowHtml 属性所在的地方传递 html 内容。非常感谢!

4

0 回答 0