50 多个 ASP.NET 面试问题及答案(2025)
面向新人的 ASP.NET 面试问题和答案
1.什么是 ASP.Net?
这是一个由开发的框架 Microsoft 我们可以使用 Web 表单 (aspx)、MVC、HTML 开发新一代网站, Javascript、CSS 等。它的后继者 Microsoft Active Server Pages(ASP)。目前有 ASP.NET 4.0,用于开发网站。有各种页面扩展由 Microsoft 用于网站开发的。例如:aspx、asmx、ascx、ashx、cs、 vb、html、XML 等。
2.Response.Output.Write()有什么用?
我们可以使用以下方式编写格式化输出 Response.Output.Write().
3. 在页面循环的哪些事件中ViewState可用?
之后 Init()
在之前 Page_Load().
4.Server.Transfer 和 Response.Redirect 有什么区别?
在 Server.Transfer 中,页面处理从一个页面转移到另一个页面,而无需往返客户端浏览器。这提供了更快的响应速度,同时服务器的开销也更少。在 Server.Transfer 的情况下,客户端 URL 历史记录列表或当前 URL 服务器不会更新。
Response.Redirect 用于将用户的浏览器重定向到另一个页面或站点。它会返回到客户端,然后客户端的浏览器会重定向到新页面。用户的浏览器历史记录列表会更新以反映新地址。
5. 所有 Web 表单均继承自哪个基类?
頁面類型。
6. ASP.NET 中有哪些不同的验证器?
以下是不同的验证器 ASP.NET
- 必填字段验证器
- 范围验证器
- 比较验证器
- 自定义验证器
- 正则表达式验证器
- 摘要验证器
7. 如果您需要确保两个不同控件中的值匹配,您会使用哪个验证器控件?
比较验证器控件。
8.什么是ViewState?
ViewState 用于在页面回发之间保留服务器端对象的状态。
9. 页面回发后视图状态存储在哪里?
ViewState 存储在客户端页面的隐藏字段中。ViewState 被传输到客户端并返回到服务器,并不存储在服务器或任何其他外部源上。
3 年经验的 ASP.NET 面试问题和答案
10. ViewState 中的项目存在多长时间?
它们在当前页面的生命周期内存在。
11. ASP.NET 中有哪些不同的会话状态管理选项?
- 进程中
- 进程外。
进程中 将会话存储在 Web 服务器的内存中。
进程外 会话状态管理将数据存储在外部服务器中。外部服务器可以是 SQL Server 或状态服务器。会话中存储的所有对象都需要可序列化,以进行进程外状态管理。
12. 如何添加事件处理程序?
使用服务器端控件的 Attributes 属性。
例如
btnSubmit.Attributes.Add("onMouseOver","JavascriptCode();")
13.什么是缓存?
缓存是一种通过将经常访问的数据或文件保存在内存中来提高性能的技术。对缓存文件/数据的请求将从缓存而不是该文件的实际位置进行访问。
14. 有哪些不同类型的缓存?
ASP.NET 有三种缓存:
- 输出缓存,
- 片段缓存,
- 数据缓存。
15. 如果我们想缓存页面的一部分而不是整个页面,将使用哪种类型的缓存?
片段缓存: 它缓存请求生成的页面部分。为此,我们可以使用以下代码创建用户控件:
<%@ OutputCache Duration="120" VaryByParam="CategoryID;SelectedID"%>
16.列出页面生命周期中的事件。
1)页面预初始化
2)页面初始化
3)Page_InitComplete
4)Page_PreLoad
5)页面加载
6)页面加载完成
7)Page_PreRender
8)渲染
17.我们可以在没有 web.Config 文件的情况下运行 Web 应用程序吗?
Yes
18. 是否可以使用 webforms 和 mvc 创建 web 应用程序?
是的。我们必须在 Web 窗体应用程序中包含以下 mvc 程序集引用才能创建混合应用程序。
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
19.我们可以在App_Code文件夹中添加不同语言的代码文件吗?
不可以。代码文件必须使用相同的语言,才能保存在 App_code 文件夹中。
20.什么是受保护的配置?
这是用于保护连接字符串信息的功能。
21. 编写代码从 ASP.NET 应用程序发送电子邮件?
MailMessage mailMess = new MailMessage (); mailMess.From = "abc@gmail.com"; mailMess.To = "xyz@gmail.com"; mailMess.Subject = "Test email"; mailMess.Body = "Hi This is a test mail."; SmtpMail.SmtpServer = "localhost"; SmtpMail.Send (mailMess);
Mail消息和 SmtpMail 是 System.Web 定义的类。Mail 命名空间。
22. 如何防止浏览器缓存 ASPX 页面?
我们可以在 Response 对象的 Cache 属性公开的 HttpCachePolicy 对象上设置 SetNoStore:
Response.Cache.SetNoStore (); Response.Write (DateTime.Now.ToLongTimeString ());
23. 在 aspx 页面中实现验证的良好做法是什么?
客户端验证是验证网页数据的最佳方式。它减少了网络流量并节省了服务器资源。
24. 我们可以在 Global.asax 文件中拥有哪些事件处理程序?
应用事件: 应用程序启动、应用程序结束、应用程序获取请求状态、应用程序验证请求、应用程序授权请求、应用程序开始请求、应用程序处理、应用程序结束请求、应用程序错误、应用程序发布请求处理程序执行、应用程序预请求处理程序执行、应用程序预发送请求内容、应用程序预发送请求头、应用程序发布请求状态、应用程序解析请求缓存、应用程序更新请求缓存
会议活动: 会话开始、会话结束
25. 哪种协议用于调用 Web 服务?
HTTP 协议
5 年经验的 ASP.NET 面试问题和答案
26. 我们可以为一个 asp.net 应用程序设置多个 Web 配置文件吗?
是的。
27. Web 配置和机器配置有什么区别?
Web 配置文件特定于 Web 应用程序,而机器配置特定于机器或服务器。一个应用程序中可以有多个 Web 配置文件,而一台服务器上只能有一个机器配置文件。
28. 解释基于角色的安全性?
基于角色的安全性用于根据分配给组织中用户组的角色来实现安全性。
然后,我们可以根据用户在组织中的角色允许或拒绝用户。 Windows 定义了几个内置组,包括管理员、用户和访客。
<AUTHORIZATION>< authorization > < allow roles="Domain_Name\Administrators" / > < !-- Allow Administrators in domain. -- > < deny users="*" / > < !-- Deny anyone else. -- > < /authorization >
29. 什么是跨页发帖?
当我们单击网页上的提交按钮时,该页面会将数据发布到同一页面。我们将数据发布到不同页面的技术称为跨页面发布。这可以通过设置引起回发的按钮的 POSTBACKURL 属性来实现。PreviousPage 的 Findcontrol 方法可用于获取已发布页面的页面上的已发布值。
30. 如何将主题应用到 asp.net 应用程序?
我们可以在 web.config 文件中指定主题。以下是应用主题的代码示例:
<configuration> <system.web> <pages theme="Windows7" /> </system.web> </configuration>
31. ASP.Net 中的 RedirectPermanent 是什么?
RedirectPermanent 执行从请求的 URL 到指定 URL 的永久重定向。重定向完成后,它还会返回 301 Moved Permanently 响应。
32.什么是 MVC?
MVC 是一个用于创建 Web 应用程序的框架。Web 应用程序基础建立在模型-视图-控制器模式之上,该模式将应用程序逻辑与 UI 分开,用户的输入和事件将由控制器控制。
33. 解释护照认证的工作原理。
首先,它会检查护照身份验证 cookie。如果 cookie 不可用,则应用程序会将用户重定向到 Passport 登录页面。Passport 服务会在登录页面上验证用户详细信息,如果有效,则将经过验证的 cookie 存储在客户端计算机上,然后将用户重定向到请求的页面
34.护照认证有哪些优点?
只需使用单一登录凭证即可访问所有网站。因此无需记住每个网站的登录凭证。
用户可以在一个位置维护他/她的信息。
35. asp.net 安全控制有哪些?
<asp:Login>
:提供标准登录功能,允许用户输入其凭证<asp:LoginName>
:允许您显示登录用户的名称<asp:LoginStatus>
:显示用户是否经过身份验证<asp:LoginView>
:根据所选模板提供各种登录视图<asp:PasswordRecovery>
:通过电子邮件向用户告知其丢失的密码
10 年经验的 ASP.NET 面试问题和答案
36. 如何注册 Java用于 webcontrols 的脚本?
我们可以注册 JavaScript的 对于使用Attribtues.Add(scriptname,scripttext) 方法。
37. 在哪种情况下控制装置是满载的?
页面加载事件。
38.什么是装箱和拆箱?
Boxing 是将值类型分配给引用类型变量。
拆箱是装箱的逆过程,即将引用类型变量分配给值类型变量。
39. 区分强类型和弱类型
在强类型中,变量的数据类型在编译时进行检查。另一方面,在弱类型的情况下,变量的数据类型在运行时进行检查。在强类型的情况下,不会出现编译错误。脚本使用弱类型,因此在运行时会出现问题。
40. 如何强制运行所有验证控件?
Page.Validate() 方法用于强制所有验证控件运行并执行验证。
41. 列出Repeater控件的所有模板。
- 项目模板
- 交替项模板
- 分隔符模板
- 标头模板
- 页脚模板
42. 列出 ASP.NET 中的主要内置对象?
- 应用程序
- 请求
- 响应
- 服务器
- 时间
- 语境
- 追踪
43. web.config 文件中的 appSettings 部分是什么?
Web 配置文件中的 appSettings 块为整个应用程序设置用户定义的值。
例如,在下面的代码片段中,指定的 ConnectionString 部分在整个项目中用于数据库连接:
<em><configuration> <appSettings> <add key="ConnectionString" value="server=local; pwd=password; database=default" /> </appSettings></em>
44. RangeValidator 控件支持哪种数据类型?
RangeValidator 控件支持的数据类型有 Integer、 Double、字符串、货币和日期。
45. HtmlInputCheck 和 HtmlInputCheck 有什么区别?Box 控件和 HtmlInputRadioButton 控件?
在 HtmlInputCheck 中Box控件,可以选择多个项目,而在 HtmlInputRadioButton 控件中,我们只能从项目组中选择单个项目。
46. 创建本地化应用程序需要哪些命名空间?
系统.全球化
系统资源
47. ASP.NET 中有哪些不同类型的 cookie?
会话 Cookie – 在客户端计算机上驻留单个会话,直到用户注销。
持久性 Cookie – 在用户机器上驻留指定的期限,如 10 天、一个月或永不驻留。
48. Web服务的文件扩展名是什么?
Web 服务的文件扩展名为 .asmx。
49. ADO.NET 的组件有哪些?
ADO.Net的组件有数据集、数据读取器、数据适配器、命令、连接。
50.ExecuteScalar 和 ExecuteNonQuery 有什么区别?
ExecuteScalar 返回输出值,而 ExecuteNonQuery 不返回任何值,而是返回受查询影响的行数。ExecuteScalar 用于获取单个值,ExecuteNonQuery 用于执行 Insert 和 Update 语句。
这些面试问题也会对你的口试有帮助