2012-11-20 150 views
1

内添加HTML的清洁方式下面是一些JavaScript我用它来创建我的网站上控件:一个Javascript对象属性

var boxText = document.createElement("div"); 
boxText.class = "infobox-custom"; 
boxText.style.cssText = "margin-top: -215px; margin-left: -500px; border-radius: 10px; background-color:#438BC0; padding: 5px; height: 400px; width: 600px;"; 

// Notice this: 
boxText.innerHTML = '<p>Some text.</p>'; 

很简单。我需要将.innerHTML设置为更复杂的东西,只需在Javascript中将其展开成一行即可,感觉不对。它闻起来 - 至少对我来说。

我在这里有什么选择?

我可以有一个PartialView并将其从Controller返回给jQuery POST请求吗?

你有什么建议?

+0

此HTML来自哪里? (你想放在boxText中) –

+0

@ bradley.ayers:我想定义一个模板(局部视图),传入模型(填充值等)并将该模板作为HTML返回。 – sergserg

+0

难道你不是指'boxText.className'而不是'boxText.class'吗? (因为你似乎在使用jQuery,为什么不''(“

”).addClass(“infobox-custom”).css(/ * yourCSShere * /)。append(“

Some text。

”); ?为什么不在你的样式表中设置这些样式,因为你是在分配一个类呢?) – nnnnnn

回答

2

说实话,看起来像渲染HTML并将其展开成单行是最简单的选择,因为你到目前为止已经有了。

如果您希望通过JavaScript获得更加认真的UI动态,您应该考虑使用JavaScript来呈现模板,并简单地从后端(ASP)提供数据(JSON)。

几个模板选项:

0

为了创建和使用jQuery使用模板,你将不得不使用一个插入。以下是jQuery团队正在开发的版本,但似乎不再是:Templates

注意:jQuery团队已决定不让这个插件过去测试。 它不再被积极开发或维护。文档 暂时保留(仅供参考),直到准备好合适的 替换模板插件。