我在内部工作asp.net应用程序并且很想使用asp.net mvc,但我无法将我们的应用程序部署到不受我们控制且目前只有.net的Web服务器上框架v2和IIS6。除了没有时间/金钱用于转换当前的WebForms应用程序......
因此,任何有助于我创建更好的WebForms asp.net应用程序的信息都会非常感激...我已经从MVC人员那里读到了关于WebForms的“糟糕的”列表,肯定有解决方案/解决办法使WebForms“不那么糟糕”......
我理解的可以改进的东西(但需要帮助):
<span><asp:literal /></span>
而不是asp:标签(我们从不使用服务器端控件的样式属性,但主要使用CssClass属性将CSS保存在CSS文件中)我并不真正关心整齐格式化的URL作为其基于内部网的(并且几乎无关紧要)和SEO无关紧要......即使MVC网址看起来很棒......
同样,任何帮助,资源,代码示例或其他什么都会很棒! 谢谢你。
答案 0 :(得分:3)
可以添加到此
使用ashx处理程序进行ajax请求
使用Jayrock处理Ajax请求。这与仅使用JsonResult的MVC非常相似。
可以关闭视图状态吗? 以编程方式,如果您知道用户 有javascript
您可以使用此approach检测是否启用了JS。因此相当容易禁用ViewState。如果你有这样的话,可以在基页面轻松处理。所以重复代码的数量 - &gt; 0
另外,你可以找到WebFormsMVP帮助。
答案 1 :(得分:1)
对于ViewState问题,请确保您了解ViewState和ControlState之间的区别。 These articles帮助了我。我在web.config中为我现有的Webforms应用程序关闭ViewState,我没有任何问题。我也避免使用任何* View控件,并主要坚持使用PlaceHolder,Literal,Repeater,Button,TextBox,DropDownList(可以在没有ViewState的情况下表现古怪,但没有任何显示)和其他基本控件。您可以关闭ViewState进行回发。
ASHX非常适合Ajax请求。我不会再这样做了。
我认为你走在正确的轨道上。你已经把你的图层分开了,把东西放在应该的位置,你似乎知道应该去哪里,知道是成功的一半。
答案 2 :(得分:0)
以为我会添加到这篇文章中(当有人遇到它时)以下链接在使用jQuery(或javascript)时非常有用:
来自Rich Strahl的博客:没有ASP.NET ViewState的jQuery表单序列化: