【问题标题】:Are there any ASP.NET template technologies which can be used both client and server-side?是否有任何可以在客户端和服务器端使用的 ASP.NET 模板技术?
【发布时间】:2010-07-23 10:52:21
【问题描述】:

目前我正在使用 ASP.NET 2.0,这可以解释为什么我没有像我可能的那样对此有所了解。但是,我在 Google 搜索 ASP.NET MVC 等时没有看到完整的解决方案。

这是我的背景想法。

首先,数据绑定模板非常有用。我目前正在处理大量遗留代码,人们通过编程方式在客户端和服务器上构建控件,这是一个巨大的痛苦。

其次,有时您希望控件在客户端上绑定数据,有时在服务器上。服务器上数据绑定的最明显情况是您试图解释人们关闭 javascript 的原因。但是速度、缓存、带宽等问题都在决定绑定位置方面发挥着作用。

现在,我可以在服务器上编写带有数据绑定点的 UserControl。在客户端上,我可以编写模板并将它们与 JQuery 绑定(我目前正在使用the microtemplating engine by John Resig as amended by Rick Strahl)。但理想情况下,应该有一种方法可以编写一次模板并让管道使其可用于服务器和客户端数据绑定。我猜想 XML/XSLT 将是解决这个问题的一种方法,但也是一种可怕的方法。那么还有什么?它不必是 ASP.NET 2.0 解决方案;我只是想在某个地方有一个解决办法。

【问题讨论】:

    标签: templates user-controls asp.net-2.0 client-templates


    【解决方案1】:

    【讨论】:

    • 模板技术:检查 .NET 服务器端版本:检查 JS 客户端版本:检查为什么不赞成?
    • 这很有趣,谢谢 - 我不知道你为什么被否决。绝对是正确的区域。
    【解决方案2】:

    您可以创建独立于我们的数据绑定控件/模板的“数据源”对象。

    将它们与数据绑定控件一起使用,而不是以声明方式附加它们,例如:

    <asp:gridview ...datasource="myDataSource"...>
    

    您可以使用代码附加它们: (一些事件)

    me.Gridview1.datasource = "myXMLDataSource"
    

    ---或者---

    me.Gridview1.datasource = "mySQLDataSource"
    

    如果您提前设置了数据源(在 .aspx 中或在代码隐藏中都可以),那么通过这种方式,您可以在需要时根据某些事件或逻辑切换数据源,无需重新编码/重新发布任何内容。

    【讨论】:

    • 虽然这一切都是真的,但它有点无关紧要。我在想象一些在服务器和客户端上都可以使用的模板技术。
    • 您的问题不清楚。再次阅读它......部分,听起来你希望能够在运行时告诉数据源自己在哪里获取它的数据,部分,听起来你希望数据源在关闭javascript时自动检测,并自动切换到服务器端方法来获取数据。在你的脑海中,这个“模板”会是什么样子——你会告诉它数据在哪里,然后它会问你希望它为你构建什么样的数据源?无论如何——以下 cmets 中的一些想法——也许更符合你的想法。
    • 如果我不清楚,我很抱歉。更简洁地说:我在使用与语言无关的模板标记以及服务器端 (ASP.NET) 和客户端 (Javascript) 库来将数据集绑定到模板。
    • 谢谢 -- 如果您已经熟悉 ASP.NET,那么您可以轻松使用 CodeSmith,因为它具有类似的风格,并且也可以与 Visual Studio 集成。它可以生成 javascript 以及 asp.net 代码(甚至是 HAML :-))。附带许多预构建的模板来帮助您入门,并且似乎有一个相当不错的社区来支持您的努力。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 2016-10-13
    • 2023-03-20
    • 2014-08-06
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    相关资源
    最近更新 更多