Webform页面避免使用runat服务器

时间:2013-01-30 09:08:23

标签: .net webforms

我的页面需要重写一些问题。

基本上,$(document).ready上的页面通过ajax调用Web服务并获取一个json对象,然后使用该对象和模板生成页面。这很有效......直到你关掉js然后你才会看到一个空白页面。

无论如何,我被告知让它适用于非js人......并且可转位Google Google

现在我通常会制作类似<asp:label id="name" runat="server">的内容,然后在代码后面填充它。但由于所有其他JS附加到页面上的不同div和标签等我试图避免这种情况。例如。砌体js与其他人相连。

显然,如果我将这些东西更改为runat服务器,那么id会发生变化。

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

问题:在制作标签runat=server的替代方案中,是否存在性能问题?这样做是否有任何其他明显的问题(我从未在aspx页面上以这种方式使用.net和&lt; %%&gt;标签。已经阅读过它,但从未使用它......它看起来更像如果使用服务器端控制标签,“轻量级”替代方案可以避免所有额外的东西......

注意:我今天在阅读中看到了MVC。我是否正确地说,如果我没有runat=server但是上面的另一种方式,它有点像使用aspx视图引擎的MVC? 另外,我已经看到帖子重新调用ajax #!,但我们正试图避免使用这些哈希标记。

提前致谢

干杯, 罗宾

修改

作为一个注释,为避免控件上混淆客户端ID,.net 4.0具有ClientIDMode,您可以将其设置为静态....

1 个答案:

答案 0 :(得分:0)

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

<noscript>
    <%= presult.Name %>
</noscript>