ASP.NET 面试问题:第一部分






4.31/5 (36投票s)
ASP.NET 面试问题:第一部分。
目录
- (B) ASP.NET 事件处理的顺序是什么?
- (B) 控件在哪一个事件中完全加载?
- (B) ASP.NET 如何在后续请求之间维护状态?
- (A) 事件冒泡是什么?
- (B) 我们如何分配页面特定的属性?
- (A) 我们如何确保视图状态未被篡改?
- (B) @Register 指令的用途是什么?
- (B) 智能导航 (Smart Navigation) 属性的用途是什么?
- (B) “Web.Config”文件中的 AppSetting 部分是什么?
- (B) ViewState 信息存储在哪里?
- (I) ASP.NET 中 @OutputCache 指令的用途是什么?
- (B) 我们如何在 ASP.NET 中创建自定义控件?
- (B) ASP.NET 提供了多少种验证控件?
- (B) 您能解释一下“自动回传 (AutoPostBack)”吗?
- (B) 如何在 DataGrid 中启用自动分页?
- (B) “GLOBAL.ASAX”文件的用途是什么?
- (B) “Web.config”和“Machine.Config”之间有什么区别?
- (B) SESSION 和 APPLICATION 对象是什么?
引言
在本节中,我们将探讨 ASP.NET 中的一个重要概念。您可以从 http://www.questpond.com/SampleDotNetInterviewQuestionBook.zip 下载我的 .NET 面试问题 PDF。
您可以从这里下载软件架构面试问题 PDF:下载软件架构面试问题。
我之前发布的架构师面试题系列的前几部分
- 第一部分 - SoftArchInter1.aspx
- 第二部分 - SoftArch2.aspx
- 第三部分 - SoftArch3.aspx
- 第四部分 - SoftArch4.aspx
UML 面试问题:第一部分:SoftArch5.aspx
(B) ASP.NET 事件处理的顺序是什么?
以下是事件发生的顺序:
Page_Init
- 页面加载 (Page load)
- 控件事件
- 页面卸载 (Page unload) 事件
Page_init
事件只在页面首次启动时发生,而 Page Load 在后续页面请求中发生。
(B) 控件在哪一个事件中完全加载?
页面加载事件保证所有控件都已完全加载。在 Page_Init
事件中也可以访问控件,但您会发现在此事件期间视图状态尚未完全加载。
(B) 我们如何识别页面是否回传 (postback)?
Page
对象有一个 IsPostBack
属性,可以检查该属性以判断页面是否回传。
(B) ASP.NET 如何在后续请求之间维护状态?
请参阅缓存章节。
(A) 事件冒泡是什么?
诸如 DataGrid
、DataList
和 Repeater
等服务器控件可以在其中包含其他子控件。例如,DataGrid 可以在 DataGrid 中包含一个组合框。这些子控件不会自行引发事件,而是将事件传递给容器父级(可以是 DataGrid
、DataList
、Repeater
),然后作为 ItemCommand
事件传递给页面。由于子控件将事件发送给父级,因此这被称为事件冒泡。
(B) 我们如何分配页面特定的属性?
页面属性使用 @Page
指令指定。
(A) 我们如何确保视图状态未被篡改?
使用 @Page
指令并将 EnableViewStateMac
属性设置为 true
。
(B) @Register 指令的用途是什么?
@Register
指令通知编译器任何添加到页面的自定义服务器控件。
(B) 智能导航 (Smart Navigation) 属性的用途是什么?
这是 ASP.NET 提供的一项功能,用于防止页面回传时出现闪烁和重绘。
注意:这仅支持 IE 浏览器。对浏览器兼容性有要求的项目必须考虑其他方法来避免闪烁。
(B) Web.Config 文件中的 AppSetting 部分是什么?
Web.config 文件定义了 Web 项目的配置。使用 AppSetting
部分,我们可以定义用户定义的值。下面的示例定义了“连接字符串”部分,该部分将用于整个项目的数据库连接。
<Configuration>
<appSettings>
<add key="ConnectionString" value="server=xyz;pwd=www;database=testing" />
</appSettings>
(B) ViewState 信息存储在哪里?
在 HTML 隐藏字段中。
(I) ASP.NET 中 @OutputCache 指令的用途是什么?
它用于缓存。更多信息请参见缓存文章。
(B) 我们如何在 ASP.NET 中创建自定义控件?
用户控件在 ASP.NET 中使用 .ASCX 创建。创建 .ASCX 文件后,您需要两样东西才能在项目中使用 ASCX:
<%@ Register tag prefix="Accounting" Tag name="footer" Src="Footer.ascx" %>
<Accounting: footer runat="server" />
- 使用
<%@ Register
指令在页面中注册 ASCX 控件。例如: - 现在要在页面中使用上述会计页脚,您可以使用以下指令:
(B) ASP.NET 提供了多少种验证控件?
有六种主要类型的验证控件:
RequiredFieldValidator
:它检查控件是否包含任何值。当您希望控件不为空时使用。RangeValidator
:它检查被验证控件中的值是否在特定范围内。例如,TxtCustomerCode
不应超过八个长度。CompareValidator
:它检查控件中的值应与某个特定值匹配。例如,文本框TxtPie
应等于 3.14。RegularExpressionValidator
:当我们希望控件的值与特定的正则表达式匹配时使用。CustomValidator
:它用于定义用户自定义验证。ValidationSummary
:它显示 ASP.NET 页面上所有当前验证错误的摘要。
注意:很少有人会一步一步地询问所有验证控件。相反,他们会询问某种验证器将用于哪种类型的验证。例如,在一次面试中,我被问到如何在验证控件中显示所有错误的摘要……我只说了一个词:ValidationSummary
。
(B) 您能解释一下自动回传 (AutoPostBack) 吗?
如果我们希望控件在发生事件时自动回传,我们需要将此属性设置为 true
。例如,在 ComboBox 更改时,我们需要立即将事件发送到服务器端,然后将 AutoPostBack
属性设置为 true
。
(B) 如何在 DataGrid 中启用自动分页?
要在 DataGrid 中启用分页,需要完成以下事项:
- 将
AllowPaging
设置为 true。 - 在
PageIndexChanged
事件中设置当前点击的页索引。
注意:答案非常简短,如果您已经实际实现过,这只是一个复习。如果您是新手,只需使用 DataGrid 制作一个示例代码并尝试实现此功能。
(B) GLOBAL.ASAX 文件的用途是什么?
它允许执行 ASP.NET 应用程序级事件并设置应用程序级变量。
(B) Web.config 和 Machine.Config 之间有什么区别?
Web.config 文件将设置应用于每个 Web 应用程序,而 Machine.config 文件将设置应用于所有 ASP.NET 应用程序。
(B) SESSION 和 APPLICATION 对象是什么?
Session 对象存储特定用户在 HTTP 请求之间的信息,而 Application 对象是跨用户全局的。
如需进一步阅读,请观看以下面试准备视频和分步视频系列。