65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.31/5 (36投票s)

2008年8月28日

CPOL

6分钟阅读

viewsIcon

346528

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

目录

引言

在本节中,我们将探讨 ASP.NET 中的一个重要概念。您可以从 http://www.questpond.com/SampleDotNetInterviewQuestionBook.zip 下载我的 .NET 面试问题 PDF。

您可以从这里下载软件架构面试问题 PDF:下载软件架构面试问题

我之前发布的架构师面试题系列的前几部分

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) 事件冒泡是什么?

诸如 DataGridDataListRepeater 等服务器控件可以在其中包含其他子控件。例如,DataGrid 可以在 DataGrid 中包含一个组合框。这些子控件不会自行引发事件,而是将事件传递给容器父级(可以是 DataGridDataListRepeater),然后作为 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.configMachine.Config 之间有什么区别?

Web.config 文件将设置应用于每个 Web 应用程序,而 Machine.config 文件将设置应用于所有 ASP.NET 应用程序。

(B) SESSION 和 APPLICATION 对象是什么?

Session 对象存储特定用户在 HTTP 请求之间的信息,而 Application 对象是跨用户全局的。

如需进一步阅读,请观看以下面试准备视频和分步视频系列。

© . All rights reserved.