Passer d'un modèle à une vue partielle?
c'est mon partiel:
@model RazorSharpBlog.Models.MarkdownTextAreaModel
<div class="wmd-panel">
<div id="[email protected]"></div>
@Html.TextAreaFor(m => m.Name, new { @id = "wmd-input-" + @Model.Name, @class = "wmd-input" })
</div>
<div class="wmd-panel-separator"></div>
<div id="[email protected]" class="wmd-panel wmd-preview"></div>
<div class="wmd-panel-separator"></div>
J'essaie de l'inclure comme ça dans mon View
:
@using (Html.BeginForm())
{
@Html.LabelFor(m => m.Title)
@Html.TextBoxFor(m => m.Title)
@Html.Partial("MarkdownTextArea", new { Name = "content" })
<input type="submit" value="Post" />
}
ce sont les classes du modèle:
public class MarkdownTextAreaModel
{
[Required]
public string Name { get; set; }
}
public class BlogContentModel
{
[Required]
[Display(Name = "Post Title")]
public string Title { get; set; }
[Required]
[DataType(DataType.MultilineText)]
[Display(Name = "Post Content")]
public string Content { get; set; }
}
Ce que je fais mal, comment dois-je faire pour rendre mon partiel réutilisable?
OriginalL'auteur bevacqua | 2011-09-12
Vous devez vous connecter pour publier un commentaire.
Vos partielle attend une instance de la
MarkdownTextAreaModel
classe. Afin de faire, plutôt que de transmettre un objet anonyme qui serait jeter de toute façon:Maintenant, cela étant dit, la meilleure solution serait d'adapter votre modèle de vue, de sorte qu'il contient une référence à
MarkdownTextAreaModel
et l'utilisation de l'éditeur de modèles au lieu de partiels dans votre point de vue, comme:puis, bien sûr, se réadapter le contrôleur au service de cette vue, de sorte qu'il remplit les
MarkDown
de votre modèle de vue:et puis à l'intérieur de votre vue principale simplement:
puis dans afin de respecter les conventions de déplacer vos partielle de
~/Views/YourControllerName/EditorTemplates/MarkdownTextAreaModel.cshtml
et maintenant tout va comme par magie se mettent en place comme il se doit.Mon partiel s'attend à un long, comment puis-je passer ça?
@model long
et je suis en train d'essayer quelque chose comme@Html.Partial("p", new { m = Model.SWhCode })
.OriginalL'auteur Darin Dimitrov
OriginalL'auteur Peter