C#Web编程

时间:2020-12-16 14:46:26

  1、Web服务器控件可以包含服务器上调用的事件处理程序。只有送回服务器时,才在服务器上触发事件。把autoPostBack设置为true,事件将立即传给服务器。这样就会使客户端调用Javascript把窗体数据立即传给服务器。页面返回给服务器后,通过隐藏字段ViewState比较控件值是否改变。

  2、PreviousPage:获取向当前页传输控件的页。

FindControl():在页命名容器中搜索带指定标识符的服务器控件。

  3、<%@ PreviousPageType VirtualPath ="~/Registration.aspx" %>

<%@ PreviousPageType attribute="value" [attribute="value"...] %>

PreviousPageType创建了一个PreviousPage属性,它返回与该指令关联的类型。

TypeName指定上一页的类型名称。为前面所有页面定义一个基类。

VirtualPath  指定生成强类型的文件的路径。

4、在一般的Asp.Net回送中,会请求整个页面。回送用户已经加载的同一个页面时,也会再次返回整个页面。为了减少网络上的传输量,可以使用ASP.Net Ajax回送。在Ajax回送中,只使用JavaScript返回并刷新页面的一部分,使用UpdatePanel可以方便地做到这一点。

UpdatePanel的内部发出AjaxPost请求。AjaxPost请求使用XmlHttpRequest对象给服务器发送一个请求。服务器只返回更新UI的数据。解释了数据后,JavaScript代码就修改UpdatePanel内部的Html控件,显示一个新的UI。

注意: 1)使用“UpdatePanel”的控件前需要页面上有 ScriptManager控件。

2)存在多个UpdatePanel时,多个UpdatePanel默认同时被修改。若将单个UpdatePanel的UpdateMode属性从Always改为Condition则对此UpdatePanel操作时,只对本UpdatePanel进行修改。

3)修改一UpdatePanel的Trigger属性,使其指向另一UpdatePanel中的对象事件,则另一UpdatePanel中的对象事件触发时,也刷新本UpdatePanel的UI界面。(定义一个UpdatePanel外部的触发器,由UpdatePanel外部控件引发更新操作)

  5、有效性验证:

验证控件创建了客户端JavaScript代码,在客户端上验证输入,还创建了服务器端代码,在服务器端验证输入。把验证属性EnableClientScript设置为false,就可以关闭JavaScript。设置Page的ClientTarget属性,也可以关闭JavaScript而不需要对每个验证控件执行改变属性值的操作。

  6、使用母版页,

    1)把MasterPageFile特性应用于Page指令。要替换母版页内容可以使用Content控件。

    2)在Web配置文件Web.config中使用<pages>元素。Asp.Net页面需要该文件中的Content元素配置。

    3)处理母版页的最后一个地方是:Page_PreInit方法中。

    注意:如果同时使用Page指令和Web配置文件,则Page指令会覆盖掉Web配置。一般使用Web配置默认共用母版页,Page指令共用特定母版页。

  7、设置Web.sitemap为网站地图数据源 

<!--<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="XmlSiteMapProvider"
description="Default SiteMap Provider"
type="System.Web.XmlSiteMapProvider"
siteMapFile="Web.sitemap"
securityTrimmingEnabled="true" />
</providers>
</siteMap>-->

  注:即使不设置默认的也是Web.SiteMap。直接拖入SiteMapDataSource,并将其设置为Menu的数据源,再将SiteMapPath直接拖入,则点击Menu中的项时,SiteMapPath就可以显示层级关系

  8、身份验证配置

项目-->Asp.Net配置-->ASP.NET Web应用程序管理-->安全

  9、添加服务引用及异步调用:右击具体项目,选择添加服务引用,点击发现,选择解决方案中的服务;右击具体的服务引用(*),选择配置服务引用,选中生成异步操作。

  注:1)Web上的异步操作还需要设置:<%@ Page Async="true" %>;

    2)在使用异步方法时,客户接口不会在Web方法执行完毕之前停止运行。

    3)给Web服务器上添加新类或给类添加新函数,则要想在客户端Web引用中看到新添加的类或函数,必须关闭解决方案,然后重新打开解决方案,编译Web服务器代码,更新客户端Web引用。

  10、测试引用Web服务引用的客户端时报错,提示设置Config文档选项,则将客户端设置为启动项后,就运行正常。。