简答题锦集(三)

在ASP.NET 中有哪些数据验证控件(请解释ASP.NET中以什么方式进行数据验证)?

(1)RequiredFieldValidator:检查用户是否输入;
(2)CompareValidator:检查两个表单输入项的输入信息是否存在某种指定关系,比如大、等于等;
(3)RangeValidator:检查用户输入是否在某一指定范围;(4)RegularExpressionValidator:检查用户输入是否符合某一指定的正则表达式要求;
(5)CustomValidator: 检查用户输入是否符合开发者指定的验证逻辑规则。JS验证

请解释ASP.NET中的web页面与其隐藏类之间的关系?

一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下:
<%@Pagelanguage="c#"Codebehind="Tst1.aspx.cs"AutoEventWireup="false"Inherits=“T1.Tst1”
%>
Codebehind="Tst1.aspx.cs"表明经编译此页面时使用哪一个代码文件。
Inherits="T1.Tst1"表用运行时使用哪一个隐藏类。
aspx页面会编译生成一个类,这个类从隐藏类继承。

Server.Transfer和Response.Redirect的区别是什么?

(1)Server.Transfer在服务器端完成,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以客户端浏览器中的URL地址是不会改变的,这个过程中浏览器和Web 服务器之间经过了一次交互;Response.Redirect是客户端完成,是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以客户端浏览器中的URL地址是会改变的.这个过程中浏览器和Web 服务器之间经过了两次交互。
(2)Server.Transfer在服务器端完成,不需要客户端提出请求,减少了客户端对服务器端提出请求。
(3)Server.Transfer只能够转跳到本地虚拟目录指定的页面,也就是工程项目中的页面,而Response.Redirect则十分灵活,可以跳转到任何URL地址。]
(4)Server.Transfer可以将前一个页面的各种类型的值传到新的页面;Response.Redirect则只能借助URL中带参数或是结合(QueryString、Session、Cookie、Application)办法把各种类型的值传到新的页面。

什么是viewstate,能否禁用?是否所用控件都可以禁用?

viewstate用于在两次postback之间保持状态的一种机制禁用viewstate将不能在回发之间保存状态 当控件状态无关使用viewstate将造成性能问题时需要禁用viewstate

Viewstate是保存状态的一种机制,EnableViewState属性设置为false即可禁用

当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决

有可能是在Page_Load中数据处理时没有进行Page的IsPostBack属性判断

ASP.net的身份验证方式有哪些?分别是什么原理?

Windows身份验证提供程序:提供有关如何将 Windows 身份验证与 Microsoft Internet 信息服务 (IIS) 身份验证结合使用来确保 ASP.NET 应用程序安全的信息。Forms 身份验证提供程序 :提供有关如何使用您自己的代码创建应用程序特定的登录窗体并执行身份验证的信息。使用 Forms 身份验证的一种简便方法是使用 ASP.NET 成员资格和 ASP.NET 登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭据的方法。Passport 身份验证提供程序 :提供有关由 Microsoft 提供的集中身份验证服务的信息,该服务为成员站点提供单一登录和核心配置

请简述一下你所了解的数据源控件有哪些?

SqlDataSource 、AccessDataSource 、ObjectDataSource、XMLDataSource 、SiteMapDataSource 、linqDataSource

在ASP.NET中,<%= %>和<%# %>有什么区别?

<%# %>用于数据绑定控件,就是必须在对应控件或父控件调用DataBind方法时,这个指令才会被执行
而普通的<%= %>,可以在里面构造代码语句,类似于实现一个函数或方法的功能

列举几种实现页面跳转的方法

Response.Redirect(“URL”);但是有缺陷,跳转的页面不能作为新开窗体打开,需要再page_load里面加上this.form1.Target = “_blank”;
  2#
  string strScript = “”;
  RegisterClientScriptBlock(“open”, strScript);
  这段代码放在.cs页面里 可以实现跳转;缺陷是上一个页面的URL在跳转后就丢失了
  3#
  Server.Transfer
  4#
  Sever.Execute

GET请求和 POST 请求有何区别

1、get比post更不安全
2、get传输的数据长度比post小
3、get通过在URL后拼接字符串的形式传递参数,post将参数放在RequestBody中
4、get产生一个TCP数据包;post产生两个TCP数据包。(get会把 httpheader 和 data 一起发送给服务器,服务器会响应200,post会先把httpheader发送给服务端,服务端响应100,提示客户端继续发送。浏览器接着发送data给服务端。最终服务端响应200)
5、get请求可以被缓存起来,post不行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值