aspnet项目经验总结一_第1页
aspnet项目经验总结一_第2页
aspnet项目经验总结一_第3页
aspnet项目经验总结一_第4页
aspnet项目经验总结一_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ASP.NET项目经验总结 一文档说明2第一篇 Access数据库关键字Password3第二篇ASP.NET-不能获得最新的cookies 怎么回事3第三篇 ASP.NET导出页面到word程序说明文档4第四篇A后台代码操作Html控件6第五篇回发或回调参数无效6第六篇ASP.NET控件名与子页面属性重名冲突7第七篇ASP.NET前台代码绑定后台变量方法8第八篇aspnet使用母版页时,js出现的问题10第九篇IE无法加载有中文注释的css11第十篇导出页面到word时遇到的问题12文档说明本人初级阶段,希望和大家一起学习进步。这里是做项目时遇到的一些小问题,整理一下,拿出来跟大家分享。都是

2、自己遇到的实际问题,并附有解决办法和参考文档,希望对你有帮助。 这是本人总结的第一份文档,后续还会有。2011-12-7第一篇 Access数据库关键字Password使用Access数据库设计*网站时, sql语法没有错误,但调试提示语法错误,良久不能淡定。string sql = "update User_Info set Name='" + nameText + "',Password='" + passwordText + "',AllowLogin=" + allowLoginchecked

3、+ " where ID=" + id;原来”Password”为Access数据库关键字。为sql语句中字段添加 ,问题解决。string sql = "update User_Info set Name='" + nameText + "',Password='" + passwordText + "',AllowLogin=" + allowLoginchecked + " where ID=" + id;第二篇ASP.NET-不能获得最新的cookies

4、怎么回事 刷新才能获得最新更新的cookies 怎么回事?取不到刚写的cookies,是因为cookies还在缓冲区,并没有写到客户端cookies文件中。第三篇 ASP.NET导出页面到word程序说明文档程序可以实现导出当前全部页面或局部页面到word文档和导入某一word文档内容到页面指定部位。步骤:导出页面到word:1引用命名空间:using System.Windows.Forms;右击项目,选择“添加引用”,再选择“.NET”选项卡,找到System.Windows.Forms,点击“确定”添加。2出现只能在执行 Render() 的过程中调用 RegisterForEventV

5、alidation的错误提示在此页面的.aspx页面头中要加EnableEventValidation = "false"导入某一word文档内容到页面:3添加word程序集引用右击项目,选择“添加引用”,再选择“COM”选项卡,找到 Microsoft Word 9.0(10/11/12) object library,(本程序添加的是Microsoft Word 11.0 object library).点击“确定”添加。注:(可能出现的问题)1如果Word内容为乱码,请在页面使用合适的编码,如UTF-8,GB2312。2,导出页面时,导出类型可以为.doc | .xl

6、s | .txt |.htm。只需修改部分代码。3,导出局部页面时,如果出现 “控件必须放在具有 runat=server 的窗体标记内"错误。需要添加重写函数public override void VerifyRenderingInServerForm(System.Web.UI.Control control) /base.VerifyRenderingInServerForm (control);。这时也可还可以换用程序中的备用代码(备用代码不要重写VerifyRenderingInServerForm函数)4,导出局部页面到word,写入时,需要添加<body>

7、标记:Response.Write("<body>" + . + "</body>");否则打开word时,可能报错:“word无法启动转换器mswrd632.wpc”。参考:导出把网页导入word控件必须放在具有 runat=server 的窗体标记内"错误的解决方法 从数据库导出数据到word、excel、.txt _技巧第四篇A后台代码操作Html控件ASP.NET中,Html控件加上 runat=server 属性后,后台代码就可以操作这些控件。如input_Message.Attributes'disa

8、bled' = 'disabled'input _Name.Attributes'ReadOnly' = 'true'第五篇回发或回调参数无效错误提示如下::回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <% Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且

9、是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 参考:问题发生条件:1。画面有隐藏控件。2。多次的GRID绑定。解决方法:1, 在页面中设置<% Page EnableEventValidation="false" %> ,问题解决2, 查找隐藏控件,注释或删除。第六篇ASP.NET控件名与子页面属性重名冲突错误提示如下:无法将类型“string”隐式转换为“System.Web.UI.HtmlControls.HtmlInputText”。在使用母版页的子页中

10、,一个Html控件<input name="Title" id="Title" size="30" value="" type="text" runat="server" class="required"/>的id属性和子页中顶部<% Page Language="C#" MasterPageFile="/Admin/index.master" AutoEventWireup="true&

11、quot; CodeFile="CaseInfoEdit.aspx.cs" Inherits="Admin_CaseInfoEdit" Title="Product-Management System" validateRequest="false"%>的Title发生冲突。修改Html控件的id为其他值即可。第七篇ASP.NET前台代码绑定后台变量方法之前有同学问到能否在前台编写后台代码之类的问题,当时自己也不大了解,找了一些网络资料。ASP.NET前台代码绑定后台变量方法总结:一般来说,在前台代码的三种位

12、置可能会用到(绑定)后台变量:· 服务器端控件属性或HTML标签属性 · JavaScript代码中 · Html显示内容的位置(也就是开始标签与结束标签之间的内容,如<div>这里</div>1.<%= str%>:此种方式其实是ASP 时代就支持的,ASP 通过包含在 < % 和 %>中的表达式将执行结果输出到客户浏览器。对于控件属性,还必须是绑定到非服务器端控件的属性。2. <%# str %>:ASP.NET 引入了一种新的声明语法 <%# %>。该语法是在 .aspx 页中使用数据绑

13、定的基础,所有数据绑定表达式都必须包含在这些字符中。从出现的位置来看,除了能出现在第一种代码块出现的所有位置外,他还可以出现在服务器端控件的属性中。这是上面的网址中内容的一部分,这篇文章写的很好,值得细看。· %# 与%= 的区别,显示数据与绑定数据 :<%= %>与<%# %>的区别在于:绑定时机不同,<%# %>是在控件调用DataBind函数的时候才被确定。对于<%= %>,我想你应该不会陌生,在ASP时代,它就相当于 Response.Write。在ASP.NET时代也一样。暂时先不去理会教材中说的,也先把“绑定时机”放到一边。

14、<%= %>与<%# %>的区别是:前者是输出,而后者是赋值!即:   <%= "A" %> 相当于:Response.Write("A");   <%# "A" %> 相当于:变量="A"这篇文章也很好,值得一看自己的实例:*网站Contactus.aspx页面,<textarea name="Enquiries" cols="30" rows="5"

15、 class="required" id="Enquiries" style="width:210px; height:40px; font-size:11px; color:#636363;" runat="server" >Enter Your Message Here</textarea><script type="text/javascript"> var f = document.getElementById('<%=Enquiries.Cl

16、ientID %>'); if (f) f.onfocus=function() if (this.value=this.defaultValue) this.value='' f.onblur=function() if (this.value='') this.value=this.defaultValue; ;</script>Product.aspx页面,<span id="ctl00_ContentPlaceHolder1_lblShowCount" runat="server"&

17、gt;<%=currentCount%></span>currentCount为Product.aspx.cs文件中的公共静态变量。Search.aspx页面,<span style="color:White;font-size:Small;"><%=+currentIndex%></span>currentIndex为Search.aspx.cs文件中的公共静态变量。第八篇aspnet使用母版页时,js出现的问题不知所云,母版页跟JS、jquery能有什么情况。大有蹊跷。*网站,使用母版页时,在内容页使用jque

18、ry验证插件jquery.validate.js,验证失败。最后在内容页中使用form的id:“aspnetForm”才成功。如下所示$(document).ready(function() $(" aspnetForm ").validate(); );或者$(document).ready(function() $("form").validate(); );CSDN中有如下内容:母版页form的id不管改成什么,在浏览器查看内容页面的源文件的form的id都是aspnetForm。(2aa4145f2551.html)"你如果jquery

19、 可以这样获取$("form") 或者js:document.forms0","$("#<%=Form.ClientID%>")" 或者 "$("#<%=Form.ClientID%>")"网页中引用了自定义控件或者母板页时,服务器控件的ID就会发生改变,当js、jquery操作这些服务器控件时,若采用原来的id则失败。这时脚本应该采用ClientID访问服务器控件。如document.getElementById('id')改为document

20、.getElementById('<%=id.ClientID %>');jQuery("#id").val()改为jQuery("id$='id'").val(); 当然也可使用改变后的id,如id和name都为Email,查看浏览器中的源文件发现,改变后的id为ctl00_ContentPlaceHolder1_Email,name为ctl00$ContentPlaceHolder1$Email。(jquery.validate.js中在用到id的地方,使用改变后的name可以验证成功,使用改变后的id却不可以?)值得一提的是:在ASP.NET 4.0中的每个控件上都多了一个叫做ClientIDMode的属性,这就是解决上面获取控件ID难的解决方案。这个属性有四个可选值,根据所选值的不同它可以控制页面上生成控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论