.net Web表单页面避免在服务器上运行

.net Web表单页面避免在服务器上运行,.net,webforms,.net,Webforms,我有一个需要重新书写的页面有点问题 基本上,$(document.ready上的页面通过ajax调用web服务并获取一个json对象,然后使用该对象和模板生成页面。这个很好用。。。直到你关闭js,然后你只看到一个空白页面 不管怎样,我被告知要让它为非js的人工作。。。可转位的谷歌 现在通常我会做一些像的东西,然后在代码后面填充它。但是由于页面上附加的所有其他JS都是不同的div和标签等,我试图避免这种情况。例如,砖石结构js附在其他结构中 显然,如果我将内容更改为runat server,那么i

我有一个需要重新书写的页面有点问题

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

不管怎样,我被告知要让它为非js的人工作。。。可转位的谷歌

现在通常我会做一些像
的东西,然后在代码后面填充它。但是由于页面上附加的所有其他JS都是不同的div和标签等,我试图避免这种情况。例如,砖石结构js附在其他结构中

显然,如果我将内容更改为runat server,那么id就会更改

那么问题是,我能不能在aspx页面中使用简单的html,例如
,以及类似
AWebService ws=new AWebService()的代码;var result=ws.Getdata….
然后使用
public MyClass presult{get;set;}

问题:使用标签
runat=server
替代方法进行此操作是否存在性能问题?这样做还有什么明显的问题吗(我从来没有在带有标签的aspx页面上以这种方式使用过.net。我读过,但从来没有使用过它……如果使用服务器端控件标签,它似乎是一个更“轻量级”的选择,因为它避免了所有额外的东西

注意:今天我在阅读材料中看到了MVC。如果我没有
runat=server
,但从另一个角度看,它有点像使用aspx视图引擎的MVC,我说的对吗? 此外,我还看到了一些帖子正在重新进行ajax调用
,但如果可能的话,我们正试图避免使用这些哈希标记

提前谢谢

干杯, 罗宾

编辑


需要注意的是,为了避免控件上的客户端ID混乱,.net 4.0具有
ClientIDMode
,您可以将其设置为static…

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

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


谢谢你的提示,事实上这是个好主意!你知道这样做会不会让你的表演大受欢迎吗?我想除了服务电话之外,没有其他重要的事情。