【发布时间】:2018-05-31 09:18:02
【问题描述】:
我在 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" })
因此这将创建一个新的 Markdown 编辑器实例,其 id = "executive cmets" 和 querySelector(#executive cmets)。
<div id="executive comments">
</div>
var editor = new tui.Editor({
el: document.querySelector('#executive comments')})
动态地,我需要通过在部分视图中传递参数来设置“id”属性和 querySelector 属性。我是 MVC 的新手..!请指教..
【问题讨论】:
-
使用接受
additionalViewData的Html.Partial()的重载之一 - 然后参考this answer -
StephenMuecke 这不起作用。 @Html.Partial("_MarkdownEditor", new { htmlAttributes = new { @id = "editorsection" } })"
-
当然可以。在部分中,您可以使用
@{ var attributes = ViewData["htmlAttributes"]; }(并且它需要是@Html.Partial("_MarkdownEditor", null, new { htmlAttributes = new { @id = "editorsection" } })) -
@StephenMuecke 我误解了这个问题!我现在已经更新了这个问题..你能建议一下吗。
-
动态设置是什么意思?您在主视图中使用
@Html.Partial("_MarkdownEditor", new { id = "executivesummary" })等在主视图中对id进行硬编码,因此对于每个人,您都需要一个与el: document.querySelector('#executivesummary'),匹配的脚本(其他人也是如此)。甚至不清楚您为什么需要如果这就是它所包含的全部内容,则为部分 - 您不妨在主视图中添加<div>元素。
标签: html asp.net-mvc asp.net-mvc-partialview