首页 > 解决方案 > 具有 Html 属性的 MVC 5 部分视图

问题描述

我在 MVC 5 的视图中有部分视图。这个部分视图在主视图的不同部分呈现 Markdown 编辑器。这是部分视图中的 Markdown 编辑器代码。

<div id="field comments">
</div>    
var editor = new tui.Editor({
el: document.querySelector('#field comments')})

我在主视图中将此部分称为

@Html.Partial("_MarkdownEditor") 

但问题是我想通过将不同的参数传递给“id”属性来在不同的部分使用这个部分视图。有些像这样,

@Html.Partial("_MarkdownEditor", new { @id = "executive comments" }) 

所以这将创建一个带有 id = "executive comments" 和 querySelector(#executive comments) 的 Markdown 编辑器的新实例。

<div id="executive comments">
</div>    
var editor = new tui.Editor({
el: document.querySelector('#executive comments')})

动态地,我需要通过在部分视图中传递参数来设置“id”属性和 querySelector 属性。我是 MVC 的新手..!请指教..

标签: htmlasp.net-mvcasp.net-mvc-partialview

解决方案


您可以将匿名对象作为模型传递给部分:

@Html.Partial("_MarkdownEditor", new { id = "executive-comments" })

或使用ViewBag/ViewData

@{
    ViewBag.MarkDownEditorSectionId = "executive-comments"
}
@Html.Partial("_MarkdownEditor")

并在部分内部使用它。像这样的东西:

<div id="@Model.id">
</div>    
var editor = new tui.Editor({
el: document.querySelector('#@Model.id')})

推荐阅读