复杂ASP.NET服务器控件调整小技巧

简介:
  在创建或修改布局复杂ASP.NET服务器端控件时,大量的时间都是在编译,等待JIT,修改,编译,JIT... 这样一个循环中,而且两个编译常常还很耗费时间。特别地,当控件已集成在页面之中后,在出现一些布局效果上的小偏差,再调整起来将是一个非常无趣和耗时的工作。

    而这时如果能直接修改已输出的html,很可能会更加迅速的找到问题所在。但是不幸的时,通过浏览器Save As出来的html代码显然是不太具有修改价值的。因为本来就只是要进行细微的布局调整,而Save As出来页面新的布局问题可能比本身要解决的问题更加严重。

    那么就直接通过View Source把代码copy出来存为html文件呢?这时后我们会发现页面里面所有通过相对路径定位的资源都回丢失,比如什么图片啊,JavaScript啊等等,缺失了这些东西,页面也就同样失去了再调整编辑的价值。

    在HTML中,有一个base标签,这个元素似乎只在模态窗口提交页面避免弹出新窗口的时候,有用到过,平时似乎很少有看到网页用这个元素。殊不知这个base在调试html代码时,非常有用。比如你的ASP.NET页面是http://birdshome.cnblogs.com/Index.aspx,而这个Index.aspx中显现有很多通过相对路径引用的图片或JavaScript资源,这时我们通过View Source把它的html代码在本地存为: index.htm文件,只用再在其<head>标签中加入<base href=http://birdshome.cnblogs.com/ />这么一行。我们再打开这个index.htm时,会发现这时和打开http://birdshome.cnblogs.com/Index.aspx的效果是一样的,所有的图片和脚本都正常被载入,这时候在IE Tool Bar等DOM查看工具帮助下,就可以很方便通过直接修改html来调整页面或控件输出的外观样式,在找到错误后再去服务器端代码中进行修改。


本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
|
25天前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
34 8
|
25天前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
34 5
|
8天前
|
开发框架 JavaScript 前端开发
|
3天前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
15 7
|
25天前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
29 0
|
25天前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
|
29天前
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
77 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
142 0
|
4月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
63 0
|
4月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
249 5
下一篇
DDNS