【发布时间】:2015-04-13 09:13:44
【问题描述】:
我可以将我的 aspx 页面分离为外部模板以通过 jsrender 呈现它吗?我无法实现这一点,因为我的 aspx 页面包含服务器控件
【问题讨论】:
-
那么你的问题是什么?
-
我的问题:如何将包含服务器控件的模板分离到外部文件?
标签: asp.net templating jsrender
我可以将我的 aspx 页面分离为外部模板以通过 jsrender 呈现它吗?我无法实现这一点,因为我的 aspx 页面包含服务器控件
【问题讨论】:
标签: asp.net templating jsrender
您可以使用以下模板工具:
车把
小胡子
或 JsRender
但是您只需要将 runat="server" 选项放在 html 对象中
【讨论】:
如果您想从服务器获取外部模板,以在 JsRender 中使用,您当然可以从任何类型的服务器页面或请求中获取该模板。
在此处的第二个示例中:http://www.jsviews.com/#compiletmpl “示例:从标记字符串注册模板(从文本文件中的服务器获取)” - 从服务器页面获取模板 - .../person.txt。
如果服务器页面是 ...person.html 或 ...person.aspx 或使用路由的路径等,这将同样有效。但是,如果它是一个 aspx 页面,您将不希望将整个页面用作 JsRender 模板 - 因为它将包含诸如 "<form method="post" ... onsubmit="javascript:return WebForm_OnSubmit();" 之类的内容。但是你当然可以将你的模板嵌入到返回的内容中,(甚至可以使用服务器控件生成嵌入的模板),然后在将其传递给 JsRender 之前从完整内容中提取它:
$.get("pathToAspxPage", function(value) {
personTemplate = $.templates(value.slice(startOfEmbeddedTemplate, endOfEmbeddedTemplate));
...
【讨论】: