ASP.NET C# 简答题

ASP.NET简答题

1.简述ASP.NET中六大常用内置对象

1.Response对象:通过该对象的属性和方法可以控制如何将服务器端的数据发送到客户端浏览器。
2. Request对象:当客户发出请求执行ASP.NET程序时,客户端的请求信息会包装在Request对象中,这些请求信息包括请求报头(Header)、客户端的机器信息,客户端浏览器信息,请求方法(如POST、GET)、提交的窗体信息等。

3.Server对象:反映了Web服务器的各种信息,它提供了服务器可以提供的各种服务。

4.Application对象:一个集合对象,并在整个ASP.NET网站内可用,不同的用户在不同的时间都可以访问Application对象的变量。由于它是一个内置对象,所以使用它的时候与使用Response对象和Request对象类似,不需要进行任何对象的实例化,就可以直接使用。

5.Session对象:负责存储、读取和改变一个特定用户的会话信息。对于每个用户的每次访问Session对象是唯一的。

6.Cookie对象:在Web程序设计中,它表示一个长度不超过4K的一个普通的文本文件。这个文件在用户的硬盘上,可以由Web浏览器进行访问。

2. 请写出在ASP.NET中常用的几种页面间传值的方法,并说出它们的特点。
Redirect 方法将客户端重定向到新的页面,只是简单地终止当前页面,并转入新的页面开始执行,对转入的页面无任何限制。

Session 的使用 Sessionss 对象为当前用户会话提供信息

QueryString 的使用最简单最常用的传值方法

Application 的使用 Application 对象提供了对应用程序状态的访问

3 WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
可以调用

例如:<asp:TextBox id=“TextBox1” runat=“server”></asp:TextBox>

<INPUT id=“Button2” value=“Button” name="Button2 runat=“server” >
4.在ASP.NET 中有哪些数据验证控件(请解释ASP.NET中以什么方式进行数据验证)?
1.RequiredFieldValidator:检查用户是否输入;
2. CompareValidator:检查两个表单输入项的输入信息是否存在某种指定关 系,比如大、等于等;
3. RangeValidator:检查用户输入是否在某一指定范围;
4. RegularExpressionValidator:检查用户输入是否符合某一指定的正则表达式要求;
5. CustomValidator: 检查用户输入是否符合开发者指定的验证逻辑规则。
5. 请解释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页面会编译生成一个类,这个类从隐藏类继承。

6.什么是viewstate,能否禁用?是否所用控件都可以禁用?
viewstate用于在两次postback之间保持状态的一种机制禁用viewstate将不能在回发之间保存状态 当控件状态无关使用viewstate将造成性能问题时需要禁用viewstate

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

7.当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决
很有可能是在Page_Load中数据处理时没有进行Page的 IsPostBack属性判断

8. ASP.net的身份验证方式有哪些?分别是什么原理?
Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活。

要采用Forms身份验证,先要在应用程序根目录中的Web.config中做相应的设置

9.在ASP.NET中,<%= %>和<%# %>有什么区别?
<%# %>用于数据绑定控件,就是必须在对应控件或父控件调用DataBind方法时,这个指令才会被执行
<%= %>,可以在里面构造代码语句,类似于实现一个函数或方法的功能

10.请简述一下你所了解的数据源控件有哪些?
SqlDataSource 、AccessDataSource 、ObjectDataSource、XMLDataSource 、SiteMapDataSource 、linqDataSource

11.请解释转发与跳转的区别?
转发就是服务端的跳转A页面提交数据到B页面,B页面进行处理然后从服务端跳转到其它页面

跳转就是指客户端的跳转

12.用.NET做B/S结构的系统,您是用几种结构来开发,每一层之间的关系以及为什么要这样分层?
一般都是三层,表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)
至于关系么,表现层负责与用户交互(数据交互),业务逻辑层就是表现层与数据访问层的中间人了,指派
数据访问层进行表现层请求的逻辑性的业务处理,而数据访问层就负责数据的直接操作了
13.连接数据库主要有哪几个对象?
1.Connection对象 //数据库连接对象
2.Command对象 //对数据执行的操作
3.DataReader对象 //只能读取一行数据
4.DataAdaper对象 //数据适配器

14列举ASP.NET页面传值的几种方式?
1 QueryString变量
2 Application 对象变量
3 Session变量
4 Cookie对象变量
5 Server.Transfer方法

15、Execute()和Transfer()的区别是什么??

Execute是从当前页面转移到指定页面,并将执行返回到当前页面
Transfer是将执行完全转移到指定页面

16、说明session、cookie、application之间的区别?
Session: Session用于保存每个用户的专用信息.她的生存期是用户持续请求时间再加上一段时间(一般是20分钟左右),Session是记录在服务端。

cookie:Cookie用于保存客户浏览器请求服务器页面的请求信息,程序员也可以用它存放非敏感性的用户信息,信息保存的时间可以根据需要设置,Cookie是记录在客户端。

application:Application用于保存所有用户的公共的数据信息,是公用的,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成

17、 string str = null 与 string str =""说明其中的区别。
string str= “”,表示一个空串,被实列化了,占用了内存空间,
string str=null,表示一个空引用,没有占用了空间,

C#简答题


1.静态类和静态方法的好处?

好处是:在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
缺陷是:静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制

2 列举面向对象的三个特性?

封装、继承、多态

3、简述 private、 protected、 public、 internal 修饰符的访问权限?
private 只能自己访问
protected 只能自己跟子类可以使用
public 公共字段 都可以使用
internal 同一个程序集可以使用

4、简述抽象类和接口的区别?
1,接口使用interface 关键字, 抽象类使用 abstract关键字

2子类实现多个接口,子类只能继承一个抽象类

3 接口:直接实现方法
抽象类:使用override关键字实现

5、abstract class和interface有什么区别?

1.抽象类bai(abstract class)抽象du类是一种特殊的类,有如下的特点:抽象方法制作声明zhi,不包含具体dao的实现,可以看做是没有重写的虚方法.抽象类不能被实例化.具有其他类相同的特性.抽象类可以没有抽象方法和抽象属性,但是一旦有了抽象方法,就一定要把这个类声明为抽象类.具体派生类必须要覆盖基类的抽象方法.抽象类可以派生自另一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果覆盖,则其他派生类也必须覆盖他们.
2.接口(interface)接口是引用类型的,类似抽象类但又不同于抽象类.不能被实例化.只能包含实现的方法声明.成员可以包括方法,属性,索引器和事件.接口中不能包含常量,字段(域),构造函数,析构函数或者静态成员.接口中的所有成员默认为是public,因此接口中不能有private修饰符.派生类必须实现接口中的所有成员.一个类可以直接实现多个接口,接口之中用逗号隔开.一个接口可以有多个父接口,实现该接口的类必须实现所有接口中的所有成员.

6 什么是装箱和拆箱?
装箱是从值类型到引用雷兴国的隐式转换
拆箱是引用类型到值类型的显示转换

7 重载和重写
overload :重载是在同一类中,方法名相同,参数列表不同,参数列表不同包括:参数个数不同,参数类型不同。
override:两个类继承子类重写父类方法,在调用时,子类方法会覆盖父类方法,也就是会调用子类的方法,在父类中必须有修饰符virtual,而在子类方法必须指明override。
8 .net的缓存机制
(很多)内存还是持久化 数据量多最好别弄太多,,会内存溢出 页面缓存、文件缓存、数据库缓存
9 身份验证方式
底层token 的验证机制方式,JWT (json web token)的验证机制
10 定时任务
第三方,调用底层iis c++组件 (Quartz.net)
11 EF三种模式
数据库优先 DBFirst 、模型优先 ModelFirst、代码优先 CodeFirst、
12 redis五个数据类型
string(字符串),hash(哈希),list(列表),set(集合)及sortset(有序集合)
13 sql与linq的区别
ling是面向对象的sql。也就是说,sql是关系型数据库的查询
14 异步编程
async await
15 ioc 、di
ioc是一种(控制反转)的一种思想,di是实现这种思想的方法,叫依赖注入
16 web service 跟 web api 的区别
前者是soap协议,通过xml读取数据。后者是http协议,一般通过json数据交互、后者有不同的请求类型

逻辑

1 用3l 和 5l的杯子,怎么快速得到4l水

2 房间30元,三个人一人十元,然后老板说 25 就行了,
退回给小弟 5元 然后小弟吞了2元,给他们一人一块
就相当于一人花了9*3 27元 再加上 吞的2元 才 29元 还有一元呢?

Sql数据库

1 表A中有两个字段ID、LastUpdateDate,ID表示更新的事务号,LastUpdateDate表示更新时的服务器时间,请使用一条SQL语句获得最后更新的事务号。

select ID from A whereLastUpdateDate = (select max(LastUpdateDate) fromA)

2 表A中的列ID可能有多个,并且有重复的,请用一条SQL语句把每个ID和该ID对应的总数查询出来

select ID ,count(*) where A group by ID

3 写出一条Sql语句:取出表A中第31条到第40条记录(SQL Server, 以自动增长的ID作为主键, 注意:ID可能不是连续的)。

select top 10 * from A where ID not in (select top 30 id from A)

4 员工表Emp中有一列为员工所属部门编号DeptID,请用一条SQL语句把各DeptID和该DeptID对应的员工总数查询出来。

select * from Emp group by DeptID

5 部门表Dept中有部门编号DeptID,员工表Emp中有员工所属部门编号DeptID、员工年龄Age,请写一条SQL语句把表Dept和表Emp进行连接,并按员工年龄Age进行降序排序。

select * from Dept , Emp where Dept .DeptID=Emp.DeptID order by Age desc

————————————————

于:https://blog.csdn.net/qq_39664934/article/details/80395307 修改过后

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值