J'ai un formulaire ASP.NET MVC pour ajouter un module à un site. La vue a un ViewModel fortement typé avec les propriétés "Nom" et "Contenu". Sur ce formulaire, j'ai un sous-formulaire pour ajouter une section au module. Le sous-formulaire comporte des champs intitulés «Nom» et «Contenu» lorsqu'ils s'appliquent à l'objet section. Malheureusement, pour moi, les fonctions d'aide HTML intégrées semblent relier automatiquement ces champs aux valeurs de propriété correspondantes sur le modèle de vue, même si elles sont destinées à s'appliquer à un objet complètement différent.Effet secondaire inattendu de HtmlHelpers dans ASP.NET
classes Exemple:
public class Module
{
public string Name {get;set;}
public string Content {get;set;}
// ...
}
public class Section
{
public string Name {get;set;}
public string Content {get;set;}
// ...
}
Forme:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Module>" %>
<!-- rest of page here -->
<%using (var form = Html.BeginForm("AddSection", "Modules")){%>
<ul class="form">
<li>
<label for="Number">Section Number:</label>
<%=Html.TextBox("Number", null, new { size=5, maxlength=5 })%>
<%=Html.ValidationMessage("Number")%>
</li>
<li>
<label for="Name">Section Name:</label>
<%=Html.TextBox("Name")%>
<%=Html.ValidationMessage("Name")%>
</li>
<li>
<div style="width: 75%;">
<label for="Content">Section Content: (<a href="http://textile.thresholdstate.com" target="_blank">formatting help</a>)</label>
<%=Html.TextArea("Content", null, new { @class = "text-entry" })%>
<%=Html.ValidationMessage("Content")%>
</div>
</li>
<li>
<div style="width: 75%;">
<label>Content Preview: (<a href="#" onclick="togglePreviewPane(true); return false;">Show/Hide</a>)</label>
<div id="PreviewBox" class="black-border text-entry"> </div>
</div>
</li>
</ul>
<input type="hidden" id="ModuleID" name="ModuleID" value="<%=Model.ID%>" />
<input type="submit" id="SubmitButton" name="SubmitButton" value="Add Section" />
<%}%>
Je suppose que les entrées Nom et contenu commencent vide, mais les aides html semblent être prebinding au modèle de vue de la page sans ma direction. Comment puis-je arrêter ça ...
Haha si flippin simple. Je suis un cancre. :( – Chris