请教一个ASP.NET的解决方案

yutaozj85 2019-05-09 10:16:12
做了个小型的公司内部系统,用的ASP.NET WEB窗体开发。

系统中用到较多的AJAX技术,因为非常方便和好用。

就是前端HTML页面用JS发送AJAX请求到.ashx一般处理文件,可是.ashx文件无法折叠代码,很是头疼,所以又建一个.cs类文件,这样的话一般处理文件里就只写一段代码,<%@ WebHandler Language="C#" Class="AJAX_Default" %>,然后所有的编程就都在.cs类里,类名字用AJAX_Default就可以了。

这样就造成一个不便之处,每个web页面都需要配一个.ashx文件和一个.cs文件。当然,多个ajax请求代码可以写到一个.cs里,但是这样代码混乱功能混乱,所以最好的就是一个.cs里一个类。

所以想请教一个更好的解决方案,不用通过.ashx文件传递类信息,最好就是一个web页面一个类文件这样的模式。
...全文
219 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜鸟藤藤菜 2019-05-13
  • 打赏
  • 举报
回复
#region 可以折叠的啊 ,你肯定是在代码末尾 忘记了 写 #endregion , 他们是组合起用的啊
  • 打赏
  • 举报
回复
引用 11 楼 yutaozj 的回复:
[quote=引用 6 楼 wushiyuan50yuan 的回复:] 我感觉没有必要啊, 1.你多个ajax的请求地址可以指向一个一般处理程序,只不过请求的时候多传入一个参数区分是哪个请求 2.一般助理程序可以先获取区分参数再switch 3.一般处理程序也可以写逻辑方法啊 4.至于折叠问题,方法是可以折叠的,在switch里可以用预处理器指令#region #endregion 折叠代码啊 最后再说一句一定要写好注释
测试了下,#region无论是否在switch里面或者外面都无法折叠。自定义类啥的在.ashx里统统无法折叠。。。。 而且在.ashx里写代码很别扭,要写好下一句的代码,用分号结束后,上一句的才会自动对齐。也是醉了。用的vs 2019社区版。[/quote] 这个应该就是VS设置问题了吧百度一下一般处理程序的折叠吧! 我一直在这样用都是可以的
正怒月神 版主 2019-05-09
  • 打赏
  • 举报
回复
引用 3 楼 yutaozj 的回复:
[quote=引用 2 楼 正怒月神 的回复:] webapi简单粗暴,感觉就是你要的东西
大神,举个简单的例子呢,如何使用webapi[/quote] 这个你百度一下,vs创建 webapi项目就好了。
yutaozj 2019-05-09
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
webapi简单粗暴,感觉就是你要的东西
大神,举个简单的例子呢,如何使用webapi
正怒月神 版主 2019-05-09
  • 打赏
  • 举报
回复
webapi简单粗暴,感觉就是你要的东西
正怒月神 版主 2019-05-09
  • 打赏
  • 举报
回复
那你直接用webapi
yutaozj 2019-05-09
  • 打赏
  • 举报
回复
引用 6 楼 wushiyuan50yuan 的回复:
我感觉没有必要啊, 1.你多个ajax的请求地址可以指向一个一般处理程序,只不过请求的时候多传入一个参数区分是哪个请求 2.一般助理程序可以先获取区分参数再switch 3.一般处理程序也可以写逻辑方法啊 4.至于折叠问题,方法是可以折叠的,在switch里可以用预处理器指令#region #endregion 折叠代码啊 最后再说一句一定要写好注释
测试了下,#region无论是否在switch里面或者外面都无法折叠。自定义类啥的在.ashx里统统无法折叠。。。。 而且在.ashx里写代码很别扭,要写好下一句的代码,用分号结束后,上一句的才会自动对齐。也是醉了。用的vs 2019社区版。
yutaozj 2019-05-09
  • 打赏
  • 举报
回复
引用 6 楼 wushiyuan50yuan 的回复:
我感觉没有必要啊, 1.你多个ajax的请求地址可以指向一个一般处理程序,只不过请求的时候多传入一个参数区分是哪个请求 2.一般助理程序可以先获取区分参数再switch 3.一般处理程序也可以写逻辑方法啊 4.至于折叠问题,方法是可以折叠的,在switch里可以用预处理器指令#region #endregion 折叠代码啊 最后再说一句一定要写好注释
目前就是这样做的,页面会有较多ajax请求,用参数区分。所以即使少数几个页面只用一个.ashx,指向.cs的时候也会很长的代码,后期维护困难。不过我试试你说的#region能不能折叠。
MickeyXcH 2019-05-09
  • 打赏
  • 举报
回复
可以用asp.net handler代替general handler。 但是需要在配置文件中配置。
EdsionWang 2019-05-09
  • 打赏
  • 举报
回复
普通的类继承IHttpHandler,webconfig中配置一下就可以了。不需要为每一个.cs文件配备一个.ashx文件 https://www.cnblogs.com/gxwang/p/4906411.html
lijing3333 2019-05-09
  • 打赏
  • 举报
回复
直接用mvc 不就可以了嘛?多个ajax 对应一个或者多个的cs文件。 。。。 你这个需求mvc做最好了。
  • 打赏
  • 举报
回复
我感觉没有必要啊,
1.你多个ajax的请求地址可以指向一个一般处理程序,只不过请求的时候多传入一个参数区分是哪个请求
2.一般助理程序可以先获取区分参数再switch
3.一般处理程序也可以写逻辑方法啊
4.至于折叠问题,方法是可以折叠的,在switch里可以用预处理器指令#region #endregion 折叠代码啊
最后再说一句一定要写好注释
  • 打赏
  • 举报
回复
webapi和ASHX 功能差不多的。 ASHX 可以折叠的 ,你要在工具 选项里找到 百度下。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧