开发WebForm时遇到的问题
在做一个小项目时,一个很长的页面,页面底部有一个contact us form
整个页面我没有使用MVC,而是使用ASP.NET WebForm(.aspx)来实现,实现功能后发现,当用户在页面底部输入信息,提交submit form之后,页面会自动跳转到页面顶部(滚动条会自动上去,显示给用户是页面顶部的信息)
而实际上,用户submit form之后,需要反馈一个信息给用户“谢谢你的信息,我们将尽快和你联系”,在原来form的位置,让用户submit form之后,可以看到。也就是说页面焦点要停留在那里,而不是页面自动跳转到页面顶部去
在aspx文件中,有个属性叫做 MaintainScrollPositionOnPostback 可以设置,如下
<%@ Page Language="C#" AutoEventWireup="true" MaintainScrollPositionOnPostback="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
这样,可以保证页面在Postback之后,不会自动跳转到页面顶部,而是停留在原处
但是,我开发时是这样的,contact us form提交之后,就把页面底部的这个form隐藏了(Visible=false),只是在原来这个form的位置,放个Label显示反馈给用户的提交成功的信息
这样之后,发现submit form之后,页面还是会自动跳转到页面顶部去
原因: MaintainScrollPositionOnPostback="true" 需要记录原来的位置,你提交form时,记录的就是form的位置,现在提交submit后,你把form隐藏了,程序找不到form,也就无法定位到原来的位置,所以又自动跳转到顶部去了
所以,submit form之后,不要隐藏form, 只是把提交成功的信息放个Label放在这个form之上,这样问题就解决了。 这个时候,提交form之后,页面滚动条没有滚动到页面顶部,依然停留在form的位置,用户可以马上看到提交成功的信息
另一个是注意,服务器端控件Literal无法设置CSS,如果你又要使用Literal,又要设置它上面内容的CSS样式,怎么办,可以如下操作
<asp:Literal ID="myError" runat="server">
<label class="error" >You must choose reCAPTCHA</label>
</asp:Literal>
开发WebForm时遇到的问题的更多相关文章
- JS-自制提速小工具:开发页面时需要按比例计算宽高值的快速计算器
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name= ...
- MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK
安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyEclipse是自带的JDK,如下图所示: 如果我们需要使用自己安装好的JDK,那么就需要在MyEclipse中重新设置 ...
- 设置MyEclipse开发项目时使用的JDK
安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyEclipse是自带的JDK,如下图所示: 如果我们需要使用自己安装好的JDK,那么就需要在MyEclipse中重新设置 ...
- 转】MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/3927677.html 感谢! 安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyE ...
- 开发测试时给 Kafka 发消息的 UI 发送器――Mikasa
开发测试时给 Kafka 发消息的 UI 发送器――Mikasa 说来话长,自从入了花瓣,整个人就掉进连环坑了. 后端元数据采集是用 Storm 来走拓扑流程的,又因为 @Zola 不是很喜欢 Jav ...
- MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK
安装好MyEclipse之后,在MyEclipse中开发项目时,默认使用的是MyEclipse是自带的JDK,如下图所示: 如果我们需要使用自己安装好的JDK,那么就需要在MyEclipse中重新设置 ...
- 使用webstrom开发react-native时react-native代码会出现红色下划线的解决方法
问题:使用webstrom开发react-native时react-native代码会出现红色下划线的解决方法 解决方法:webstrom ->preferences->Laugrange ...
- 开发 FastAdmin 时见识到 php opcache 厉害
开发 FastAdmin 时见识到 php opcache 厉害 FastAdmin 的插件配置是写在 config.php 中的. 我在修改配置时发现加了空格,然后再重新打开配置页发现空格没有配置面 ...
- VS2015+OpenGL4.0开发编译时弹出错误:glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 _GetRegistrySysColors@8 中被引用
一.问题描述: VS2015+OpenGL4.0开发编译时弹出如下所示的错误: 1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符 ...
随机推荐
- vim常用命令 vim键盘布局
vim键盘布局,vim快捷键 vim常用命令:
- Android之ScaleGestureDetector(缩放手势检测)
一.概述 ScaleGestureDetector这个类是专门用来检测两个手指在屏幕上做缩放的手势用的,最简单的应用就是用来缩放图片或者缩放网页. 二.要求 利用ScaleGestureDetecto ...
- 结合daterangepicker实现Datatables表格带参数查询
http://dt.thxopen.com/example/user_share/send_extra_param.html#@一颗树 http://www.guoxk.com/node/jquery ...
- wave文件(*.wav)格式、PCM数据格式
1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采 ...
- ffmpeg显示视频
项目最近需要实现播放视频功能,这个在上家公司就做过.虽然跟之前的场景不一样,有以前的功底还是很快可以解决,事实也确实如此.在使用DShow处理完视频分割与合并后,继续使用DShow显示视频,很快即完成 ...
- 当ASP.NET MVC模型验证遇上CKEditor
项目需要,使用到了CKEditor编辑器.这是个很不错的富文本编辑器,但是当它绑定的字段需要进行模型验证的时候,却会出现验证失效的问题.因此本文旨在记录这个问题和给出解决办法.以下以Validatio ...
- Java SE 6 新特性: Java DB 和 JDBC 4.0
http://www.ibm.com/developerworks/cn/java/j-lo-jse65/index.html 长久以来,由于大量(甚至几乎所有)的 Java 应用都依赖于数据库,如何 ...
- Android中TabHost嵌套TabHost
在嵌套TabHost时,先后遇到了以下情况: 问题1:内部TabHos无显示,只显示了其中的一个Activity: 解决:按下文比对主子TabHos的布局文件和java文件并修改: 问题2:如上所做后 ...
- Matlab编程实例(1) 移动平均
MATLAB数字信号处理作业,把自己写的程序发上来..欢迎交流~ QQ 五幺九七九零六四 首先是任意点移动平均: 主程序:mov_average_main.m (运行) 函数:mov_averag ...
- python的Requests模块使用tips
post方法提交的是表单,要用data放dict get方法请求的是参数,要用params放dict HTTP头部是大小写不敏感的