【问题标题】:Can I separate my aspx page as an external template to render it by jsrender?我可以将我的 aspx 页面分离为外部模板以通过 jsrender 呈现它吗?
【发布时间】:2015-04-13 09:13:44
【问题描述】:

我可以将我的 aspx 页面分离为外部模板以通过 jsrender 呈现它吗?我无法实现这一点,因为我的 aspx 页面包含服务器控件

【问题讨论】:

  • 那么你的问题是什么?
  • 我的问题:如何将包含服务器控件的模板分离到外部文件?

标签: asp.net templating jsrender


【解决方案1】:

您可以使用以下模板工具:
车把
小胡子
或 JsRender
但是您只需要将 runat="server" 选项放在 html 对象中

【讨论】:

  • 非常感谢,但很抱歉,如果不将服务器控件替换为 html 对象,我就无法分离?
  • 表示你可以做到。但我建议使用车把,我已经测试过了
【解决方案2】:

如果您想从服务器获取外部模板,以在 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));
  ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多