0

我对需要重写的页面有点问题。

基本上,页面$(document).ready通过 ajax 调用 Web 服务并返回一个 json 对象,然后使用该对象和模板来生成页面。这完美地工作......直到你关闭js然后你只看到一个空白页面。

无论如何,我被告知让它适用于非 js 人......并且可以索引谷歌

现在通常我会做一些类似的东西<asp:label id="name" runat="server">,然后在后面的代码中填充它。但是由于附加到页面的所有其他 JS 到不同的 div 和标签等,我试图避免这种情况。例如 Masonry js 是附加的。

显然,如果我将这些东西更改为 runat 服务器,那么 ID 会更改。

所以问题是,我是否可以在 aspx 页面中包含简单的 html 和例如<%= presult.Name %>,以及在后面的代码中AWebService ws = new AWebService(); var result = ws.Getdata....,然后将“结果”公开public MyClass presult {get;set;}

问题:与制作标签相比,这样做是否存在性能问题runat=server?这样做是否还有其他明显的问题(我从未在带有 <%%> 标签的 aspx 页面上以这种方式使用过 .net。已经阅读过它,但从未使用过...... weight' 的替代方案,因为如果您使用服务器端控制标签,它可以避免放入所有额外的东西......

注意:我今天在阅读中查看 MVC。我是否正确地说,如果我没有,runat=server但上面的其他方式有点像使用 aspx 视图引擎的 MVC?此外,我已经看到重新进行 ajax 调用的帖子,#!但如果可能,我们会尽量避免使用这些哈希标签。

提前致谢

干杯,罗宾

编辑

请注意,为避免控件上的客户端 ID 混乱,.net 4.0 具有ClientIDMode您可以将其设置为静态的...。

4

1 回答 1

0

您尝试采用的方法没有任何问题。但我宁愿将结果放在几个 noscript 标记中,以确保它们仅在 js 关闭时显示。

<noscript>
    <%= presult.Name %>
</noscript>
于 2013-01-30T09:15:27.787 回答