C# 之 日常问题积累(一)
1、响应在此上下文中不可用(Response)。
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
<img src="图片Url地址" usemap="#图的名称">
<map name="图的名称">
<area shape="形状" coords="区域座标列表" href="URL"> <!--可根据需要定义多个热点区域-->
</map>
(1)shape 定义热点形状: rect (矩形); circle(圆形); poly(多边形)
(2)coords 定义区域点的坐标:
a.矩形:必须使用四个数字,前两个数字为左上角座标,后两个数字为右下角座标 例:<area shape=rect coords=100,50,200,100 href="URL">
b.圆形:必须使用三个数字,前两个数字为圆心的座标,最后一个数字为半径长度 例:<area shape=circle coords=100,100,50 href="URL">
c.任意图形(多边形):将图形之每一转折点座标依序填入 例:<area shape=poly coords="123,455,653,455,121,..." href="URL">
实例代码:(注:onfocus="this.blur()" ------去掉虚线框)
<img src="data:images/NewImages/default.jpg" alt="" style="width:100%; height:100%;" usemap="#default" />
<map name="default" id="default">
<area shape="rect" coords="370,240,480,290" href="http://www.baidu.com" alt="质量安全检测" onfocus="this.blur()" />
<area shape="rect" coords="570,240,685,290" href="http://www.baidu.com" alt="安全风险分析" onfocus="this.blur()" />
<area shape="rect" coords="775,240,885,290" href="http://www.baidu.com" alt="生产追溯" onfocus="this.blur()" />
</map>
3、字符中的字符文本太多
出错位置:"<%=Session['UserName']%>" 正确形式应为:'<%=Session["UserName"]%>'
根源:单引号在程序中代表char类型,JS嵌入的类似session['UserName']的代码,实际上还是在后台执行的C#代码,在C#中单引号代表的是字符型,而不是字符串型,但我们为了适应JS代码把原来的字会串型不知不觉中错误地放入了字符型中。
为避免此类问题:html中的超链接中比如有多层嵌套,很容易产生导致字符串被截取,字符文本中字符太多,等等等等很多问题
解决方案:引号嵌套两层时,可使用转义或单双引号交替形式实现(先单后双);当嵌套三四层时:"javascript:fnabc('nihao("123")')",html的href=以上的字符串,那么即使加了转义字符,字符串还是被截取为:"javascript:fnabc('nihao(" :此时应使用 " 代替引号:"javascript:fnabc('nihao("123"')"。
4、从客户端(...)中检测到有潜在危险的Request.Form 值
原因:该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置;出现这个问题,一般是由于.Net Framework 使用了4.0版本造成的。(从 .Net Framework 4.0 开始,ASP.NET开始强制检测Request参数安全),而我们可以通过修改 Web.config 来恢复 2.0 版本的模式。
解决方案:
[1]、asp.net项目
(1).第一步:请在Web.config中的 httpRuntime 配置节中的system.web下添加 <httpRuntime requestValidationMode="2.0" />节点;
第二步:在在.aspx文件头中加入这句: <%@ Page validateRequest="false" %>。
(2).修改web.config文件: <configuration> 下的 <system.web>修改 <pages validateRequest="false" /> 。
[2]、MVC项目:在Controller对应的提交的action上面加上[ValidateInput(false)] 。
5、小数字符串转为整型字符串
例如:string str = "1314.1314"; 不可直接 str = Convert.ToInt32(str).ToString(); 报错:输入的字符串格式不正确。
正确转法: str = ((int)Convert.ToDecimal(str)).ToString();
6、后台使用百分比
ItemStyle.Width = Unit.Percentage(4); //相当于前台 Width = "4%"
ItemStyle.Width = Unit.Percentage(96);
7、asp.net, B/S模式下在类中使用Console.Write()
今天在学习C#的格式字符串,asp.net, B/S模式下在类中使用了该代码没用报错,但是页面上并不能输出相应的字符。
double d= 13.45;
int i = 45;
Console.Write("The double is {0} and the int contains {1}",d,i);
我知道在页面要输出字符串的话要用Response.Write(),那么是不是把Console.Write("The double is {0} and the int contains {1}",d,i); 改成 Response.Write("The double is {0} and the int contains {1}",d,i),感觉好像行。但是敲完这段代码一条小红线提示你,改方法错误,不能通过编译。很显然Response.Write()并没有相应的参数。
查了一下资料只要多加一句代码就可用使用Console.Write() ;代码如下:
double d= 13.45;
int i = 45;
Console.SetOut(Response.Output);
Console.Write("The double is {0} and the int contains {1}",d,i);
当然用Response.Write()也一样可以,其实Console.Write()方法只是把参数的完整列表传送给静态方法string.Format()。
Response.Write(string.Format("The double is {0} and the int contains {1}",d,i));
8. 在使用了UpdatePanel后,在服务器端无法得到DropDownList的SelectedValue的正确值
C# 之 日常问题积累(一)的更多相关文章
- Git 一些日常使用积累
本来不想写这样的东西的,因为随处谷歌百度都有一大堆!但是,我却总是在百度谷歌,我在想,为什么我不自己写一篇存进来,顺便加深印象呢?既然这样,这篇随笔,就真的变成随笔好了,随时修改,随时添加. Git ...
- iOS开发 日常错误积累
1.ios7 tableviewcell上面加入一个view,view上面有button,点击button不运行button的点击事件 解决的方法: self.view.userInteraction ...
- git日常使用经验积累
1 git merge origin/develop 将远程分支合并到本地,一般先执行合并,解决冲突,然后再git commit合入新建的分支,推送到远程分支里面,最后码云上找pl pull requ ...
- java日常知识点积累
java类型中的普通非static方法 示例代码: package com.lvzhi; /** * Created by lvzhi on 2017/9/3 */ public class MyTh ...
- C# 之 日常问题积累
https://www.cnblogs.com/xinaixia/p/3956349.html
- App开发流程之加密工具类
科技优家 2016-09-08 18:10 从这篇记录开始,记录的都算是干货了,都是一些编程日常的积累. 我建议先将基础的工具加入项目,后续的开发效率会呈指数增长.如果在专注功能开发过程中,才发现缺少 ...
- 回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...
- 如何准备阿里社招面试,顺谈 Java 程序员学习中各阶段的建议
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...
- 阿里面试回来,想和Java程序员谈一谈(转载)
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...
随机推荐
- SharePoint 2010 安装错误:请重新启动计算机,然后运行安装程序以继续
一.环境:Windows Server 2008 R2 with sp1,SharePoint 2010 二.问题描述: 正常的安装SharePoint 2010 ,安装完必备组件,并提示所有必备组件 ...
- hibernate框架学习之数据查询(本地SQL)
本地SQL查询方式 lHibernate框架支持使用原生态SQL语句进行操作数据库 l查询对象SQLQuery由Session获取 •SQLQuery sq = s.createSQLQuery(&q ...
- linux 新机器的配置(git + nodejs+ mongodb)
安装nodejs: wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz tar xvf node-v6.9.5-linux ...
- 通过zabbix自带api进行主机的批量添加操作
通过zabbix自带api进行批量添加主机 我们需要监控一台服务器的时候,当客户端装好zabbix-agent端并正确配置以后,需要在zabbix-server的web gui界面进行添加zabbix ...
- MySQL数据库的各种存储引擎详解
原文来自:MySQL数据库的各种存储引擎详解 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB ...
- JDK的安装及环境变量配置
JDK的安装及环境变量配置 JDK解释:直达详细解释. 1.JDK下载地址:点击直达官网下载 进入后,如图1,点击图中红框DOWNLOAD按钮进入下载页 进入下载页后,在下载也底端,根据自己的需求下载 ...
- <转载>ford-fulkerson算法
原文链接http://blog.csdn.net/ivan_zgj/article/details/51580993 最大流问题常常出现在物流配送中,可以规约为以下的图问题.最大流问题中,图中两个顶点 ...
- http请求在ie中F12查看显示已挂起
页面有解析和运算工作之后 http新请求在ie中F12查看显示已挂起,http post ,请求返回少量数据
- Codeforces 1039D You Are Given a Tree [根号分治,整体二分,贪心]
洛谷 Codeforces 根号分治真是妙啊. 思路 考虑对于单独的一个\(k\)如何计算答案. 与"赛道修建"非常相似,但那题要求边,这题要求点,所以更加简单. 在每一个点贪心地 ...
- c# 操作Word总结(车)
在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想到网页的信息创建到一个word文本中,在显示的时,可以在线打开 ...