AllowHtml attribut ne fonctionne pas

J'ai un modèle avec cette propriété:

     [AllowHtml]
     [DisplayName("Widget for Table")]
     [StringLength(1000, ErrorMessage = "Maximum chars 1000")]
     [DataType(DataType.Html)]
     public object TableWidget { get; set; }

Et voici la création des méthodes de contrôleur:

  //
  //GET: /Admin/Table/Create

  public ActionResult Create(int id)
  {
     Season season = _seasonRepository.GetSeason(id);

     var table = new Table
                     {
                        SeasonId = season.SeasonId
                     };
     return View(table);
  }

  //
  //POST: /Admin/Table/Create

  [HttpPost]
  public ActionResult Create(Table a)
  {
     if (ModelState.IsValid)
     {
        _tableRepository.Add(a);
        _tableRepository.Save();
        return RedirectToAction("Details", "Season", new { id = a.SeasonId });
     }
     return View();
  }

Et dernière voici mon avis:

@model Stridh.Data.Models.Table
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.TableURL)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.TableURL) @Html.ValidationMessageFor(model => model.TableURL)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.SortOrder)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SortOrder) @Html.ValidationMessageFor(model => model.SortOrder)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.TableWidget)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.TableWidget) @Html.ValidationMessageFor(model => model.TableWidget)
</div>
<div class="editor-label invisible">
@Html.LabelFor(model => model.SeasonId)
</div>
<div class="editor-field invisible">
@Html.EditorFor(model => model.SeasonId)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
} 

Lorsque j'ajoute un "normal" message sans code html tout est sauvé OK, mais lors de l'enregistrement il est dit potentiellement dangereuse Demande.Formulaire de...

Une autre chose étrange est que j'ai eu cette [AllowHtml] de travailler dans un autre modèle de la classe. Je ne peux pas trouver pourquoi c'est en me faisant troubble. Besoin de votre aide. 🙂

Peut-être que cela peut vous aider: stackoverflow.com/questions/4821274/... de votre site web.config besoin de <requestValidationMode httpRuntime="2.0" />
cette suggestion n'est pas nécessaire correct. Vous ne devriez pas avoir à définir requestValidationMode.
Veuillez également inclure une trace de la pile de l'exception que vous voyez. Qui vous aideront à diagnostiquer le problème.
Cela doit avoir été un ancien Asp.Net MVC bug, dans les versions antérieures. Parce que je n'ai pas ces problèmes dans les nouvelles installations de la MVC. Mais encore merci pour les réponses
J'ai été aux prises avec ce problème et dans mon cas, ce répondre a aidé 🙂

OriginalL'auteur superfrallan | 2011-02-01