當前位置:首頁 » 文件管理 » aspnet上傳文件大小

aspnet上傳文件大小

發布時間: 2024-09-03 00:45:26

1. 如何獲得file控制項的文本框內的值

FileUpload控制項

FileUpload 控制項顯示一個文本框控制項和一個瀏覽按鈕,使用戶可以選擇客戶端上的文件並將它上載到 Web 伺服器。用戶通過在控制項的文本框中輸入本地計算機上文件的完整路徑(例如,C:\MyFiles\TestFile.txt)來指定要上載的文件。用戶也可以通過單擊「瀏覽」按鈕,然後在「選擇文件」對話框中定位文件來選擇文件。

用戶選擇要上載的文件後,FileUpload 控制項不會自動將該文件保存到伺服器。您必須顯式提供一個控制項或機制,使用戶能提交指定的文件。例如,可以提供一個按鈕,用戶單擊它即可上載文件。為保存指定文件所寫的代碼應調用 SaveAs 方法,該方法將文件內容保存到伺服器上的指定路徑。通常,在引發回發到伺服器的事件的事件處理方法中調用 SaveAs 方法。

在文件上傳的過程中,文件數據作為頁面請求的一部分,上傳並緩存到伺服器的內存中,然後再寫入伺服器的物理硬碟中。

有三個方面需要注意:

1.確認是否包含文件

在調用 SaveAs 方法將文件保存到伺服器之前,使用 HasFile 屬性來驗證 FileUpload 控制項確實包含文件。若 HasFile 返回 true,則調用 SaveAs 方法。如果它返回 false,則向用戶顯示消息,指示控制項不包含文件。不要通過檢查PostedFile 屬性來確定要上載的文件是否存在,因為默認情況下該屬性包含 0 位元組。因此,即使 FileUpload 控制項為空,PostedFile 屬性仍返回一個非空值。

2.文件上傳大小限制

默認情況下,上傳文件大小限制為 4096 KB (4 MB)。可以通過設置 httpRuntime 元素的 maxRequestLength 屬性來允許上載更大的文件。若要增加整個應用程序所允許的最大文件大小,請設置 Web.config 文件中的 maxRequestLength 屬性。若要增加指定頁所允許的最大文件大小,請設置 Web.config 中 location 元素內的 maxRequestLength 屬性。

上載較大文件時,用戶也可能接收到以下錯誤信息:

aspnet_wp.exe (PID: 1520) was recycled because memory consumption exceeded 460 MB (60 percent of available RAM).

以上信息說明,上傳文件的大小不能超過伺服器內存大小的60%。這里的60%是Web。config文件的默認配置,是<processModel>配置節中的 memoryLimit 屬性默認值。雖然可以修改,但是如果上傳文件越大,成功幾率越小,不建議使用。

3.上傳文件夾的寫入許可權

應用程序可以通過兩種方式獲得寫訪問許可權。您可以將要保存上載文件的目錄的寫訪問許可權顯式授予運行應用程序所使用的帳戶。您也可以提高為 ASP.NET 應用程序授予的信任級別。若要使應用程序獲得執行目錄的寫訪問許可權,必須將 AspNetHostingPermission 對象授予應用程序並將其信任級別設置為 AspNetHostingPermissionLevel.Medium 值。提高信任級別可提高應用程序對伺服器資源的訪問許可權。請注意,該方法並不安全,因為如果懷有惡意的用戶控制了應用程序,他(她)也能以更高的信任級別運行應用程序。最好的做法就是在僅具有運行該應用程序所需的最低特權的用戶上下文中運行 ASP.NET 應用程序。

FileUpload控制項的常用屬性:

屬性

數據類型

說明

FileBytes

byte[]

獲取上傳文件的位元組數組

FileContent

Stream

獲取指定上傳文件的Stream對象

FileName

String

獲取上傳文件在客戶端的文件名稱

HasFile

Bool

獲取一個布爾值,用於表示FileUpload控制項是否已經包含一個文件

PostedFile

HttpPostedFile

獲取一個與上傳文件相關的HttpPostedFile對象,使用該對象可以獲取上傳文件的相關屬性

可以通過3種方法訪問上傳文件:

1.通過FileBytes屬性。該屬性將上傳文件數據置於位元組數組中,遍歷該數組,則能夠以位元組方式了解上傳文件的內容。

2.通過FileContent屬性。調用該屬性可以獲得一個指向上傳文件的Stream對象。可以使用該屬性讀取上傳文件數據,並使用FileBytes屬性顯示文件內容。

3.通過PostedFile屬性。調用該屬性可以獲得一個與上傳文件相關的HttpPostedFile對象,使用該對象可以獲得與上傳文件相關的信息。例如,調用HttpPostedFile對象的ContentLength,可以獲得上傳文件大小;調用HttpPostedFile對象的ContentType屬性,可以獲得上傳文件的類型;調用HttpPostedFile對象的FileName屬性,可以獲得上傳文件在客戶端的完整路徑(調用FileUpload控制項的FileName屬性,僅能獲得文件名)。

Show一個最基本的文件上傳示例:

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<html xmlns="">

<head runat="server">

<title>示例8-3</title>

<link id="InstanceStyle" href="StyleSheet.css" type="text/css" rel="stylesheet" />

</head>

<body>

<form id="Form1" runat="server">

<div>

<fieldset style="width: 290px">

<legend class="mainTitle">FileUpload控制項典型應用</legend>

<br />

<asp:FileUpload ID="FileUpload1" runat="server" />

<asp:Button ID="BtnUpload" runat="server" Text="上傳" OnClick="BtnUpload_Click" />

<hr />

<asp:Label ID="LabMessage1" runat="server" ForeColor="red" /><br />

<asp:Label ID="LabMessage2" runat="server" />

</fieldset>

</div>

</form>

</body>

</html>

Default.aspx.cs

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void BtnUpload_Click(object sender, EventArgs e)

{

bool fileOK = false;

string path = Server.MapPath("~/Temp/");

if (FileUpload1.HasFile)

{

String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();

String[] allowedExtensions = ;

for (int i = 0; i < allowedExtensions.Length; i++)

{

if (fileExtension == allowedExtensions[i])

{

fileOK = true;

}

}

}

if (fileOK)

{

try

{

FileUpload1.SaveAs(path + FileUpload1.FileName);

LabMessage1.Text = "文件上傳成功.";

LabMessage2.Text = "<b>原文件路徑:</b>" + FileUpload1.PostedFile.FileName + "<br />" +

"<b>文件大小:</b>" + FileUpload1.PostedFile.ContentLength + "位元組<br />" +

"<b>文件類型:</b>" + FileUpload1.PostedFile.ContentType + "<br />";

}

catch (Exception ex)

{

LabMessage1.Text = "文件上傳不成功.";

}

}

else

{

LabMessage1.Text = "只能夠上傳圖片文件.";

}

}

}
另外,虛機團上產品團購,超級便宜

2. ASP.NET 2.0高級控制項之FileUpload控制項

應用程序中經常需要允許用戶把文件上傳到web伺服器 盡管在ASP NET X也可以完成該功能 但在ASP NET 中使用FileUpload控制項會更簡單 該控制項讓用戶更容易地瀏覽和選擇用於上傳的文件 它包含一個瀏覽按鈕和用於輸入文件名的文本框 只要用戶在文本框中輸入了完全限定的文件名 無論是直接輸入或通過瀏覽按鈕選擇 都可以調用FileUpload的SaveAs方法保存到磁碟上差殲塵 除了從WebControl類繼承的標准成員 FileUpload控制項還公開了幾個只讀的屬性 在表 和表 列出 表 FileUpload控制項屬性 名 稱 類型 讀 寫 說 明 FileContent Stream × 返回一個指向上傳文件的流對象 FileName string × 返回要上傳文件的名稱 不包含路徑信息 HasFile Boolean × 如虛禪果是true 則表示該控制項有文件要上傳 PostedFile HttpPostedFile × 返回已經上傳文件的引用 表 列出了它所公開的只讀屬性 表 HttpPostedFile屬性 名 稱 類 型 讀 寫 說 明 ContentLength integer × 返回上傳文件的按位元組表示的文改孫件大小 ContentType string × 返回上傳文件的MIME內容類型 FileName string × 返迴文件在客戶端的完全限定名 InputStream Stream × 返回一個指向上傳文件的流對象 所有這些屬性將在下面的示例中說明 為了查看FileUpload控制項在實際中的運用 創建一個FileUploadDemo網站 在頁面上添加一個FileUpload控制項 然後 添加兩個ASP NET按鈕 Text屬性分別設置為Save和Display ID分別設置為btnSave和btnDisplay 增加兩個Label控制項 並分別將ID設置為lblMesage和lblDisplay 用<br/>HTML元素分隔這些控制項 切換到設計視圖 通過雙擊每個按鈕 為它們在代碼隱藏文件中創建具有默認名稱的Click事件處理程序 完成後的內容文件類似於示例 示例 FileUploadDemo網站的default aspx <%@ Page Language= C# AutoEventWireup= true CodeFile= Default aspx cs Inherits= _Default %><!DOCTYPE PUBLIC //W C//DTD XHTML //EN >< xmlns= ><head runat= server ><title>FileUpload Control</title></head><body><form id= form runat= server ><div><h >FileUpload Control</h ><asp:FileUpload ID= FileUpload runat= server /><br /><asp:Button ID= btnSave runat= server Text= Save OnClick= btnSave_Click /><asp:Button ID= btnDisplay runat= server Text= Display OnClick= btnDisplay_Click /><br /><br /><asp:Label ID= lblMessage runat= server /><asp:Label ID= lblDisplay runat= server /></div></form></body></>

在代碼隱藏文件中 添加示例 中高亮顯示的代碼 非高亮顯示的代碼由VS 自動創建

示例 FileUploadDemo網站的Default aspx cs

using System;using System Data;using System Configuration;using System Web;using System Web Security;using System Web UI;using System Web UI WebControls;using System Web UI WebControls WebParts;using System Web UI HtmlControls;using System IO; // 使用Stream必需public partial class _Default : System Web UI Page {protected void Page_Load(object sender EventArgs e){}protected void btnSave_Click(object sender EventArgs e){string str = ;if (FileUpload HasFile){try{str += Uploading file: + FileUpload FileName;// 保存文件FileUpload SaveAs( c:\websites\uploads\ + FileUpload FileName);// 顯示文件信息str += <br/>Saved As: + FileUpload PostedFile FileName;str += <br/>File Type: + FileUpload PostedFile ContentType;str += <br/>File Length (bytes): + FileUpload PostedFile ContentLength;str += <br/>PostedFile File Name: + FileUpload PostedFile FileName;}catch (Exception ex){str += <br/><b>Error</b><br/>Unable to save c:\websites\uploads\ + FileUpload FileName + <br/> + ex Message;}}else{str = No file uploaded ;}lblMessage Text = str;lblDisplay Text = ;}protected void btnDisplay_Click(object sender EventArgs e){string str = <u>File: + FileUpload FileName + </u><br/> ; if (FileUpload HasFile){try{Stream stream = FileUpload FileContent;StreamReader reader = new StreamReader(stream);string strLine = ;do{strLine = reader ReadLine( );str += strLine;} while (strLine != null);}catch (Exception ex){str += <br/><b>Error</b><br/>Unable to display + FileUpload FileName + <br/> + ex Message;}}else{str = No file uploaded ;}lblDisplay Text = str;lblMessage Text = ;}}高亮顯示的using聲明對於不使用完全限定命名空間 而使用Stream對象是必須的 在Save按鈕的btnSave_Click事件處理程序中 FileUpload控制項的HasFile屬性用於檢測文本框中是否輸入了有效的完全限定文件名 如果文本框為空或輸入的名稱無效 將不會通過檢測 並且lblMessage將顯示 No file upladed 假定上傳了一個有效文件 那麼將執行try代碼塊中的代碼 關鍵語句是調用File Upload控制項的SaveAs方法 該方法使用硬編碼路徑和FileName屬性傳遞一個完全限定的文件名 該語句可能會由於各種原因而失敗 包括磁碟空間不足 無效的路徑或安全問題(稍後會有更詳細的說明) 如果SaveAs方法失敗 則執行catch代碼塊 在lblMessage中顯示一個錯誤信息 包括該異常的Message屬性ex Message 如果SaveAs方法執行成功 關於上傳文件的多個信息將顯示在lblMessage中 這些信息通過FileUpload PostedFile(類型為HttpPostedFile)中的屬性獲取 Display按鈕的Click事件處理程序與前面的類似 只不過它不是顯示文件信息 而是顯示文件內容 它通過使用FileContent屬性獲取表現為Stream對象的上傳文件的內容 然後這個Stream對象被用於實例化一個StreamReader對象 StreamReader的Read Line方法逐行的遍歷文件 然後把合並後的字元串顯示在lblDisplay中 當在討論從客戶端上傳文件到web伺服器時 安全是非常讓人關注的 須注意兩點 首先 使用這種方式會公開web伺服器 從而會有非常大的安全漏洞 為此要特別細心 因為這樣不僅可以上傳病毒 木馬和其他惡意軟體 還會存在客戶端瀏覽web伺服器目錄結構的危險 因此 應該使用硬編碼目標目錄 至少嚴格限定在哪裡保存上傳的文件 另外 要注意的一點是 允許在磁碟寫文件所必需的許可權 在開發web應用程序時 一般情況下 開發機器同時也是web伺服器 特別是使用VS 默認的開發模式 在該模式下使用的是內置的web伺服器 並且不通過IIS訪問網站而是由文件系統訪問網站 這樣 永遠也不會有許可權問題 然而 當網站部署到產品伺服器上 且該網站通過IIS和虛擬目錄來訪問時 就會出現問題 這是因為運行ASP NET的賬戶必須擁有對用於保存上傳文件的目錄的寫許可權 在Windows /XP中 賬戶的名稱是ASPNET 在Windows Server 中 寫許可權必須分配給IIS_WPG賬戶組 利用FileUpload控制項並結合良好的安全防護 用戶可以把自己的文件傳送到網站 以豐富網站功能 lishixin/Article/program/net/201311/13538

3. 求.net面試題

下面有關用戶控制項與aspx頁面區別說法錯誤的是(B)
aa// 用戶控制項不能再包含<HTML><BODY><FORM>標記,而aspx頁面可以包含
bb// 用戶控制項不能觸發伺服器端的事件,只是一種外觀重用方式,而aspx頁面可以
cc// 用戶控制項繼承自System.Web.UI.UserControl,而aspx頁面繼承自System.Web.UI.Page
dd// 用戶控制項可以包含其它用戶控制項,但是不能直接訪問,必須包含在某個aspx頁面中才可以訪問,而aspx頁面是可以直接訪問的

想在在aspx頁面使用用戶控制項,則aspx頁面開始部分必須添加下面哪個頁面指令A
aa// <%@ Page %>
bb// <%@ Master %>
cc// <%@ Control %>
dd// <%@ Register %>

根據你的理解,你認為第三控制項與用戶控制項的主要區別是A
aa// 第三方控制項是編譯後的代碼,後綴為dll,只要應用程序引用進來,就可以使用,而用戶控制項是頁面文件,屬於非編譯代碼,只限於在當前應用程序中使用
bb// 用戶控制項比第三方控制項更靈活,可以在應用程序中多個地方使用
cc// 用戶控制項出現在工具箱中,而第三方控制項不會出現在工具箱中
dd// 用戶控制項比第三方控制項的執行效率要高一些

下面關於HttpHandler與HttpMole說法正確的是C
aa// 一個Http請求中可以經歷多個HttpMole和一個HttpHandler
bb// 一個Http請求中可以經歷多個HttpHandler和一個HttpMole
cc// HttpMole是一個Http請求的最終處理者
dd// HttpHandler通常做一些停止數據向客戶端輸出的操作

在aSPNET中,關於HttpHandler說法不正確的是:(D)
aa// 通常文件後綴名為ashx
bb// 它是一個Http請求處理的最終點
cc// 它實現了IHttpHandler
dd// 當它的IsReusable屬性為false時,表示只能使用一次

下面哪個選項不能在web.config文件中配置的(C)
aa// 連接字元串
bb// 身份驗證
cc// 網站導航
dd// 程序出現錯誤時,定向到的錯誤提示頁面

aSPNET支持三種驗證方式,不屬於其中的是(B)
aa// passport
bb// SqlServer身份
cc// Windows
dd// Forms

在網站某個目錄的web.config配置文件中,有一段關於該目錄授權的代碼,經過分析,你認為正確的答案是:B
<authentication>
<deny user="?" /> 拒絕所有匿名用戶
<allow users="xiaozhang" /> 容許xiazhang
<deny roles="*"> 拒絕所有用戶
</authentication>
aa// 所有用戶都可以訪問該網站目錄,除xiaozhang以外
bb// 所有用戶都不能訪問該網站目錄,除xiaozhang以外
cc// 匿名用戶和xiaozhang都不能訪問該網站目錄
dd// 所有角色和用戶都不能訪問該網站目錄

已知在網站的根目錄下有一個web.config文件,有如下關於驗證的代碼,正確說法的是B
<authorization mode="Forms">
<forms name="userLogin" loginUrl="~/login.aspx" timeout="20">
</forms>
</authorization>
aa// loginUrl的作用是,當用戶登錄不成功時,轉向login.aspx頁面
bb// loginUrl的作用是,當用戶進入網站如果未登錄,就轉向login.aspx頁面
cc// timeout是超過20分鍾不登錄,就退出網站
dd// timeout的作用是當20分鍾後,用戶還沒有登錄,就轉向login.aspx頁面

下列關於部署的說法,正確的是(a d)
aa// 部署就是將站點文件復制到相關web目錄中
bb// 應該在本地站點將內容處理好,比如資料庫連接字元串設置好並加密,然後直接復制到站點到遠程伺服器相關目錄即可
cc// 發布預編譯站點,如果將來需要更新某個頁面,最好不要選擇使用」使用固定命名和單頁程序集」
dd// 發布預編譯站點就是將站點所有文件都編譯到dll中

下面(C)不屬於導航控制項
aa// Menu
bb// SiteMapPath
cc// View
dd// SiteMapDataSource

在asp.net中的母版中的內容頁中能包含的HTML元素是(D)
aa// <html>
bb// <head>
cc// <body>
dd// <script>

如果希望使用TreeView控制項顯示時默認全部展開應設置(D)屬性
aa// ExpandDepth
bb// ExpandImageToolTip
cc// ExpandImageUrl
dd// Expand

在SiteMapPath控制項中,要設置導航路徑中分隔符應設置(B)屬性
aa// PathDirection
bb// PathSeparator
cc// PathSeparatorStyle
dd// Provider

下列關於ContentPlaceHolder控制項說法錯誤的是(C)ContentPlaceHolderMain
aa// ContentPlaceHolder 控制項為母版頁中的內容定義一個相對區域
bb// 母版頁還包括一個或多個 ContentPlaceHolder 控制項
cc// ContentPlaceHolder 控制項必須包含在內容頁中
dd// Content 控制項使用其 ContentPlaceHolderID 屬性與 ContentPlaceHolder 關聯.

下列(c)模板不屬於Repeater控制項
aa// ItemTemplate
bb// alternatingItemTemplate
cc// SelectedItemTamplate
dd// SeparatorTemplate

設置(a)屬性將會頁面顯示DataList控制項時調用EditItemTemplate模板
aa// EditItemIndex
bb// EditIndex
cc// SelectedItemIndex
dd// ModifyItemIndex

如果在DataList中實現分頁一般(AB)(選擇二項)
aa// 使用Sql語句
bb// 使用PagedDataSource對象進行分頁
cc// 設置CurrentPageIndex屬性
dd// 設置DataList的PageIndex屬性

DataList中的交替行模板是(B)
aa// ItemTemplate
bb// alternatingItemTemplate
cc// SelectedItemTamplate
dd// SeparatorTemplate

下面關於DataList說法錯誤的是(C)
aa// DataList沒有內置分頁功能
bb// DataList具有SelectedItemTamplate模板
cc// DataList不能使用ObjectDataSource控制項進行綁定數據 可以使用ObjectDataSource控制項進行綁定數據
dd// DataList比Repeater控制項多了二個模板 DataList有編輯模板和選擇模板

在一個aSPX頁面的Page_Load事件中,編寫了如下代碼,則執行該頁面後,將在頁面中輸出(a)。(選擇一項)
private void Page_Load(object sender , System.Eventargs e){
Response . Write(「歡迎光臨」);
Response . End();
Response . Write(「歡迎下次光臨」);
}
aa// 歡迎光臨
bb// 歡迎下次光臨
cc// 歡迎光臨
歡迎下次光臨
dd// 歡迎光臨歡迎下次光臨

在aSP.NET中,application是(C)類的實例
aa// Httpapplication
bb// HttpapplicationUtility
cc// HttpapplicationState
dd// Page

在aSP.NET中,下列關於session對象的說法正確的是(D)。(選擇一項)
aa// 用戶每次打開一個web頁面,將會創建一個session對象
bb// 用戶關閉客戶端web頁面後,session對象將立即消失
cc// 應用程序退出後,session對象的值才能消失
dd// 每個用戶的Session對象不能被其他用戶訪問

在aSP.NET中,為了將當前頁面跳轉到一個相同目錄下名為Main.htm的頁面,下面方法正確的是(C)。(選擇一項)
aa// Server.Execute(「Main.htm」);
bb// Servlet.Transfer(「Main.htm」);
cc// Response.Redirect(「Main.htm」);
dd// Response.Write(「Main.htm」);

某個用aSP。NET技術開發的網站擁有大量的訪問量,最近該網經常因為伺服器內存佔用率過高而宕機,作為該網站技術員的你仔細檢查了該網站的系統,發現內存佔有率過高是因為每個用戶都有大量數據保存在Session中,為了解決該問題你應該進行(C)處理。(選擇一項)
aa// 將保存在Session中的數據保存在application中
bb// 將保存在Session中的數據保存在Cookie中
cc// 將Session中對安全性要求不高的數據保存在Cookie中,不經常使用的數據保存在資料庫中
dd// 將Session中對安全性要求不高的數據保存在application中,不經常使用的數據保存在Cookie中

對於第三方在線文本編輯控制項FreeTextBox,如果需要獲取控制項中錄入文本的HTML代碼,需要訪問什麼屬性(A)(選擇一項)
aa// Text
bb// HtmlText
cc// Value
dd// SelectText

有時候編輯過程中會出現如下的錯誤,如果要避免該錯誤,需要在Page頁面指令上做何設置(D):(選擇一項)
aa// EnableEventValidation="true"
bb// EnableEventValidation="false"
cc// ValidateRequest="true"
dd// ValidateRequest="false"

使用驗證碼生成控制項Webvalidates,生成驗證碼的方法為(C):(選擇一項)
aa// Generate()
bb// Initial()
cc// Create()
dd// Next()

CodeSmith中,腳本標簽寫法正確的是(B):(選擇一項)
aa// <script runat=」server」></script>
bb// <script runat=」template」></script> 如果不添加會被視為普通文本
cc// <CodeTemplate runat=」server」></CodeTemplate>
dd// <CodeTemplate runat=」template」></CodeTemplate>

利用CodeSmith生成實體類的代碼,對於DbType.Int32,應輸出的類型為:(C)(選擇一項)
aa// byte
bb// short
cc// int
dd// long

下面那種數據源控制項適合於三層結構數據綁定(C)
aa// SqlDataSource
bb// accessDataSoure
cc// ObjectDataSoure
dd// XmlDataSoure

下面對於幾種數據源控制項說法錯誤的是(A)
aa// SqlDataSource數據源控制項不能用於oracle資料庫和access資料庫。
bb// ObjectDataSource可以對業務對象或其他返回數據的類執行特定的數據訪問。
cc// XmlDataSource可以對XML文檔執行特定訪問,包括物理訪問和內存訪問。
dd// SiteMapDataSource可以對站點地圖提供程序所存儲的Web站點執行特定的站點地圖數據訪問.

為綁定的行添加腳本事件的方法是什麼(D)
aa// ItemDataBound
bb// DataBinding
cc// DataBound
dd// RowDataBound

DropDownList控制項的哪個屬性可獲取當前選擇的項(A)
aa// DropDownList.SelectedItem.Value
bb// DropDownList.SelectedItem.Text
cc// DropDownList.SelectedValue
dd// DropDownList.SelectedItem

Gridview控制項的基類是(C)
aa// HierarchicalDataBoundControl
bb// ListControl
cc// CompositeDataBoundControl
dd// BaseGridriew

下面關於Eval和Bind的區別,說法不正確的是(B)
aa// Eval()方法是靜態(只讀)方法
bb// Eval方法沒有Bind?方法訪問速度快
cc// Bind?方法支持讀/寫功能,可修改回傳伺服器。
dd// Bind 方法不能格式化字元串

下面關於FileUpload控制項說法不正確的是()
aa// 獲取上傳文件名的屬性是FileUpload.PostedFile.FileName
bb// 獲取上傳文件大小的屬性是FileUpload.PostedFile.ContentLength
cc// 獲取上傳文件類型的屬性是FileUpload.PostedFile.ContentType
dd// 保存上傳文件的方法是FileUpload.SevaAs

如果用戶信息必須填寫電話號碼,使用那個驗證控制項(C)
aa// RequiredFieldValidator
bb// REgularExpression
cc// RequiredFieldValidator和regularExpression;
dd// CompareValidator和RequiredFieldValidator;

現在需要驗證Textbox的輸入數據為年齡,並且要求大於18,小於65應該使用的控制項是(C)
aa// RequiredFieldValidator
bb// REgularExpression
cc// RequiredFieldValidator和RangeValidator
dd// CompareValidator和RequiredFieldValidator

ValidationSummary控制項的作用是(B)
aa// 檢查總和數
bb// 集中顯示所有驗證的結果
cc// 判斷有無超出范圍
dd// 檢查數值大小

在VS中,下列說法錯誤的是: D
aa// 內置了輕量級的Web伺服器
bb// 無須配置IIS、設置相應許可權
cc// 內置了80多個控制項
dd// 代碼前置,邏輯分明

運行下列代碼,如果當天是星期天,且用戶輸入「accp」(輸入框TextBox的ID是txtName),則將輸出(C)
string outPut="";
switch (DateTime.Now.DayOfWeek.ToString())
{
case "Saturday": outPut = "{0},Hi"; break;
case "Sunday": outPut = "{0},Ok"; break;
default: outPut = "{0},Bye"; break;
}
string message = string.Format(outPut,txtName.Text);
Response.Write(message);
aa// Hi
bb// Ok
cc// Bye
dd// 無輸出

App_Data目錄是用來放置(A)
aa// 專用數據文件
bb// 共享文件
cc// 被保護的文件
dd// 代碼文件

VS創建Asp.net網站時自動生成的文件和目錄有(BCD) 選擇三項
aa// app_resource文件夾
bb// app_Data目錄
cc// 擴展名為aspx和cs的文件
dd// Web.Config文件

現有用來做開發的生產機和用來做布署的伺服器,關於開發布署發布網站說法正確的是:BC 選擇二項
aa// 生產機必須安裝IIS
bb// 伺服器必須安裝IIS
cc// 生產機必須安裝Windows Server操作系統
dd// 伺服器必須安裝Windows Server操作系統

B/S典型應用有:BCD 選擇三項
aa// 某酒店的內務管理
bb// 購物網站
cc// 個人博客
dd// 論壇

在開發三層結構的網站時,與數據表對應的實體類應寫在(D)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層

某個論壇上有這樣的規定:在線時長不夠100小時不能發貼,相關的代碼應該寫在(B)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層

對於存儲過程的調用,應該出現在(C)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層

下列說法正確的是(AB) 選擇二項
aa// 數據訪問層要添加模型層的引用
bb// 業務邏輯層要添加數據訪問層的引用
cc// 表示層要添加數據訪問層業務邏輯層和模型層的引用
dd// 模型層要添加數據訪問層的引用

4. 關於asp.net 的幾個名詞解釋,求助。。

1.Request對象
作用是與客戶端交互,收集客戶端的Form、Cookies、超鏈接,或者收集伺服器端的環境變數。
request對象是從客戶端向伺服器發出請求,包括用戶提交的信息以及客戶端的一些信息。客戶端可通過HTML表單或在網頁地址後面提供參數的方法提交數據,然後通過request對象的相關方法來獲取這些數據。request的各種方法主要用來處理客戶端瀏覽器提交的請求中的各項參數和選項。

Request對象的語法如下:
Request[.collectionlpropertylmethod](variable)
collection集合
clientcertificate 得到在HTTP請求中傳遞在客戶端認證域的值
cookies 使用此集合,可得到cookies值
form 得到form對象中元素的值
querystring 得到變數的值
servervariables 得到預置的環境變數的值
property屬性
totalbytes (只讀)指定從客戶端傳遞總位元組數
buffer 表明頁面輸出是否有緩沖
cachecontrol 決定代理伺服器是否能夠對asp的輸出進行快取
property屬性
charset 字元集
contenttype 指定response的HTTP內容類型
expires 定義一個瀏覽器緩存中的頁面在多長時間後過期
expiresabsolute 定義一個瀏覽器緩存中的頁面什麼日期時間後過期
isclientconnected 用戶是否連接到伺服器
pics 設置pics-label response標題的值,標示pics內容等級
status 由伺服器返回的狀態行
說明:
1、其中collection表示集合,它和數組很類似,是由若干元素組成的集合。不過數組一般只能用索引(下標)來引用每一個元素,而集合不僅可以用索引來引用每一個元素的值,還可以用元素的名稱來引用,如Request.Form("txtA")。事實上,後者是常用的方法。
2、variable又稱參數,它就是要獲取的元素的名稱,可以是字元串常量或字元串變數。例如,對表單信息來說,variable就是每一個表單元素的名稱。
3、「【」和「】」之間的參數可以省略,如Request("txtA")。此時因為沒有指定集合,所以ASP將會依次在QueryString、Form、Cookies、ServerVariables、ClientCertificate這5種集合中檢查是否有信息傳入。如果有信息傳入,則會返回獲取的信息。
4、請注意上面的第二個例子,其中前面的strB是定義的一個變數名稱,而後面的strB則是集合中一個元素的名稱,兩者不是一回事。
method方法
binaryread 得到從客戶端傳給伺服器端的數據
1.Request對象是ASP中常用的對象,用於獲取客戶端的信息,可以使用Request對象訪問任何基於HTTP請求傳遞的所有信息。通過Request對象能夠獲得客戶端發送給伺服器的信息,不能將伺服器端的數據發送給客戶端的瀏覽器。Request對象的屬性TotalBytes的功能是取得客戶端響應數據位元組大小。Request對象的方法BinaryRead的功能是以二進制方式讀取客戶端post的數據。

request對象有五個集合,下面予以介紹:
QueryString
:用以獲取客戶端附在url地址後的查詢字元串中的信息。
例如:stra=Request.QueryString ["strUserld"]
Form
:用以獲取客戶端在FORM表單中所輸入的信息。(表單的method屬性值需要為POST)
例如:stra=Request.Form["strUserld"]
Cookies
:用以獲取客戶端的Cookie信息。
例如:stra=Request.Cookies["strUserld"]
ServerVariables
:用以獲取客戶端發出的HTTP請求信息中的頭信息及伺服器端環境變數信息。
例如:stra=Request.ServerVariables["REMOTE_ADDR"],返回客戶端IP地址
ClientCertificate
:用以獲取客戶端的身份驗證信息
例如:stra=Request.ClientCertificate["VALIDFORM"],對於要求安全驗證的網站,返回有效起始日期。

2session對象

用於存儲特定的用戶會話所需的信息 。 Session對象的引入是為了彌補HTTP協議的不足,HTTP協議是一種無狀態的協議。
Session中文是「會話」的意思,在ASP中代表了伺服器與客戶端之間的「會話」。Session的作用時間從用戶到達某個特定的Web頁開始,到該用戶離開Web站點,或在程序中利用代碼終止某個Session結束。引用Session 則可以讓一個用戶訪問多個頁面之間的切換也會保留該用戶的信息。
系統為每個訪問者都設立一個獨立的Session對象,用以存儲Session變數,並且各個訪問者的Session對象互不幹擾。
Session與Cookie是緊密相關的。 Session的使用要求用戶瀏覽器必須支持Cookie,如果瀏覽器不支持使用Cookie,或者設置為禁用Cookie,那麼將不能使用Session。
Session信息對客戶來說,不同的用戶用不同的Session信息來記錄。當用戶啟用Session時,ASP自動產生一個SessionID.在新會話開始時,伺服器將SessionID當做cookie存儲在用戶的瀏覽器中。
session語法:
session.集合∣屬性∣方法
舉例:
<html>
<head>
<title>學好session加油</title>
</head>
<body>
<%
session("greeting")="ASP「
Response.write(session("greeting"))
%>
</body>
</html>
Session對象的集合、屬性、方法、事件
名稱 描述
Contents集合 包含所有通過腳本命令添加到應用程序中的數據項
SessionID屬性 用來標識每一個Session對象
TimeOut屬性 用來設置Session會話的超時時間(以分鍾表示)
Abandon方法 強行刪除當前會話的Session對象,釋放系統資源
Session_OnStart事件 建立Session對象時所激發的事件
Session_OnEnd事件 結束Session對象時所激發的事件
StaticObjects集合 包含所有通過<OBJECT>標記添加到應用程序中的對象

3

CompareValidator 控制項用於將由用戶輸入到輸入控制項的值與輸入到其他輸入控制項的值或常數值進行比較。

注釋:如果輸入控制項為空,則不會調用任何驗證函數,並且驗證將成功。使用 RequiredFieldValidator 控制項使欄位成為必選欄位。
屬性
屬性 描述
BackColor CompareValidator 控制項的背景顏色。
ControlToCompare 要與所驗證的輸入控制項進行比較的輸入控制項。
ControlToValidate 要驗證的輸入控制項的 ID。
Display 驗證控制項中錯誤信息的顯示行為。

合法值是:

None 驗證消息從不內聯顯示。
Static 在頁面布局中分配用於顯示驗證消息的空間。
Dynamic 如果驗證失敗,將用於顯示驗證消息的空間動態添加到頁面。

EnableClientScript 布爾值,規定是否啟用客戶端驗證。
Enabled 布爾值,規定是否啟用驗證控制項。
ErrorMessage 當驗證失敗時在 ValidationSummary 控制項中顯示的文本。

注釋:如果未設置 Text 屬性,此文本將顯示在驗證控制項中。

ForeColor 控制項的前景顏色。
id 控制項的唯一 ID。
IsValid 布爾值,指示由 ControlToValidate 指定的輸入控制項是否通過驗證。
Operator 要執行的比較操作的類型。

運算符是:

Equal
GreaterThan
GreaterThanEqual
LessThan
LessThanEqual
NotEqual
DataTypeCheck

runat 規定控制項是伺服器控制項。必須設置為 "server"。
Text 當驗證失敗時顯示的消息。
Type 規定要對比的值的數據類型。

類型有:

Currency
Date
Double
Integer
String

ValueToCompare 一個常數值,該值要與由用戶輸入到所驗證的輸入控制項中的值進行比較。
實例
CompareValidator
在此例中,我們在 .aspx 文件中聲明了兩個 TextBox 控制項,一個 Button 控制項,以及一個 CompareValidator 控制項。如果驗證失敗,將在 CompareValidator 控制項中使用黃色背景紅色文本顯示 "Validation Failed!"。
CompareValidator 2
在此例中,我們在 .aspx 文件中聲明了兩個 TextBox,一個 ListBox 控制項,一個 Button 控制項,以及一個 CompareValidator 控制項。check_operator() 函數把 ListBox 控制項中選取的運算符設置為 CompareValidator 控制項的運算符,然後對 CompareValidator 控制項進行驗證。如果驗證失敗,將在 CompareValidator 控制項中使用黃色背景和紅色文本顯示 "Validation Failed!"。

4.FileUpload控制項
FileUpload 控制項顯示一個文本框控制項和一個瀏覽按鈕,使用戶可以選擇客戶端上的文件並將它上載到 Web 伺服器。用戶通過在控制項的文本框中輸入本地計算機上文件的完整路徑(例如,C:\MyFiles\TestFile.txt)來指定要上載的文件。用戶也可以通過單擊「瀏覽」按鈕,然後在「選擇文件」對話框中定位文件來選擇文件。
用戶選擇要上載的文件後,FileUpload 控制項不會自動將該文件保存到伺服器。您必須顯式提供一個控制項或機制,使用戶能提交指定的文件。例如,可以提供一個按鈕,用戶單擊它即可上載文件。為保存指定文件所寫的代碼應調用 SaveAs 方法,該方法將文件內容保存到伺服器上的指定路徑。通常,在引發回發到伺服器的事件的事件處理方法中調用 SaveAs 方法。
在文件上傳的過程中,文件數據作為頁面請求的一部分,上傳並緩存到伺服器的內存中,然後再寫入伺服器的物理硬碟中。
有三個方面需要注意:
1.確認是否包含文件
在調用 SaveAs 方法將文件保存到伺服器之前,使用 HasFile 屬性來驗證 FileUpload 控制項確實包含文件。若 HasFile 返回 true,則調用 SaveAs 方法。如果它返回 false,則向用戶顯示消息,指示控制項不包含文件。不要通過檢查PostedFile 屬性來確定要上載的文件是否存在,因為默認情況下該屬性包含 0 位元組。因此,即使 FileUpload 控制項為空,PostedFile 屬性仍返回一個非空值。
2.文件上傳大小限制
默認情況下,上傳文件大小限制為 4096 KB (4 MB)。可以通過設置 httpRuntime 元素的 maxRequestLength 屬性來允許上載更大的文件。若要增加整個應用程序所允許的最大文件大小,請設置 Web.config 文件中的 maxRequestLength 屬性。若要增加指定頁所允許的最大文件大小,請設置 Web.config 中 location 元素內的 maxRequestLength 屬性。
上載較大文件時,用戶也可能接收到以下錯誤信息:
aspnet_wp.exe (PID: 1520) was recycled because memory consumption exceeded 460 MB (60 percent of available RAM).
以上信息說明,上傳文件的大小不能超過伺服器內存大小的60%。這里的60%是Web。config文件的默認配置,是<processModel>配置節中的 memoryLimit 屬性默認值。雖然可以修改,但是如果上傳文件越大,成功幾率越小,不建議使用。
3.上傳文件夾的寫入許可權
應用程序可以通過兩種方式獲得寫訪問許可權。您可以將要保存上載文件的目錄的寫訪問許可權顯式授予運行應用程序所使用的帳戶。您也可以提高為 ASP.NET 應用程序授予的信任級別。若要使應用程序獲得執行目錄的寫訪問許可權,必須將 AspNetHostingPermission 對象授予應用程序並將其信任級別設置為 AspNetHostingPermissionLevel.Medium 值。提高信任級別可提高應用程序對伺服器資源的訪問許可權。請注意,該方法並不安全,因為如果懷有惡意的用戶控制了應用程序,他(她)也能以更高的信任級別運行應用程序。最好的做法就是在僅具有運行該應用程序所需的最低特權的用戶上下文中運行 ASP.NET 應用程序。

FileUpload控制項的常用屬性:

屬性
數據類型
說明

FileBytes
byte[]
獲取上傳文件的位元組數組

FileContent
Stream
獲取指定上傳文件的Stream對象

FileName
String
獲取上傳文件在客戶端的文件名稱

HasFile
Bool
獲取一個布爾值,用於表示FileUpload控制項是否已經包含一個文件

PostedFile
HttpPostedFile
獲取一個與上傳文件相關的HttpPostedFile對象,使用該對象可以獲取上傳文件的相關屬性

可以通過3種方法訪問上傳文件:
1.通過FileBytes屬性。該屬性將上傳文件數據置於位元組數組中,遍歷該數組,則能夠以位元組方式了解上傳文件的內容。
2.通過FileContent屬性。調用該屬性可以獲得一個指向上傳文件的Stream對象。可以使用該屬性讀取上傳文件數據,並使用FileBytes屬性顯示文件內容。
3.通過PostedFile屬性。調用該屬性可以獲得一個與上傳文件相關的HttpPostedFile對象,使用該對象可以獲得與上傳文件相關的信息。例如,調用HttpPostedFile對象的ContentLength,可以獲得上傳文件大小;調用HttpPostedFile對象的ContentType屬性,可以獲得上傳文件的類型;調用HttpPostedFile對象的FileName屬性,可以獲得上傳文件在客戶端的完整路徑(調用FileUpload控制項的FileName屬性,僅能獲得文件名)。

5.DataAdapter
表示一組 SQL 命令和一個資料庫連接,它們用於填充 DataSet和更新數據源。 命名空間:System.Data.Common
程序集:System.Data(在 system.data.dll 中)
語法 public class DataAdapter : Component, IDataAdapter
DataAdapter 用作 DataSet 和數據源之間的橋接器以便檢索和保存數據。DataAdapter 通過映射Fill(這更改了 DataSet 中的數據以便與數據源中的數據相匹配)和Update(這更改了數據源中的數據以便與 DataSet 中的數據相匹配)來提供這一橋接器。
如果所連接的是 SQL Server 資料庫,則可以通過將SqlDataAdapter與關聯的SqlCommand和SqlConnection對象一起使用,從而提高總體性能。對於支持 OLE DB 的數據源,請使用 DataAdapter 及其關聯的OleDbCommand和 OleDbConnection 對象。對於支持 ODBC 的數據源,請使用 DataAdapter 及其關聯的OdbcCommand和OdbcConnection對象。對於 Oracle 資料庫,請使用 DataAdapter 及其關聯的OracleCommand和OracleConnection對象。
當創建 DataAdapter 的實例時,讀/寫屬性將被設置為初始值。有關這些值的列表,請參見 DataAdapter 構造函數

這些都出自網路。其實我也不懂。能幫一點幫一點吧。

5. ASP伺服器配置的完整的流程

分類:ASP.Net

一、備份伺服器
使用Ghost軟體,將伺服器的操作系統備份,一般是C盤,以防萬一。

二、安裝IIS

三、安裝.net1.1框架

首先安裝MADC27SD,然後安裝.net1.1框架

四、一定要首先安裝IIS,然後安裝.net框架,如果一旦順序弄反了,解決辦法如下:

找到目錄 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

在DOS環境下,運行aspnet_regiis.exe -i 注冊IIS

運行aspnet_regiis.exe -c 創建客戶端腳本

五、安裝SQLServer 2000

注意:資料庫一定不要建立在系統盤下面,否則,如果系統癱瘓,那麼資料庫的全部數據將一並丟失。

應該在另外一個盤下存放資料庫文件。

注意:在建立資料庫時,一定不要忘記取消新增用戶的master資料庫的訪問許可權。

六、配置辦公系統文件

在Internet信息服務下找到網站,設置虛擬目錄,然後可以通過http://192.168.1.1/epdoc進行訪問操作。

在控制面板,管理工具,Internet信息服務中找到默認站點,然後右鍵,選擇屬性;如下進行設置:

熱點內容
商城前端源碼 發布:2025-01-13 14:08:43 瀏覽:48
每個人身上都有密碼是什麼 發布:2025-01-13 14:08:40 瀏覽:472
怎麼看java 發布:2025-01-13 13:54:18 瀏覽:10
沒腳本導演 發布:2025-01-13 13:52:22 瀏覽:339
獲取android簽名 發布:2025-01-13 13:40:21 瀏覽:595
單片機編譯器和驅動 發布:2025-01-13 13:31:33 瀏覽:440
tis伺服器怎麼進pe 發布:2025-01-13 13:31:02 瀏覽:277
android線程與線程通信 發布:2025-01-13 13:30:27 瀏覽:39
FTP伺服器本地策略 發布:2025-01-13 13:20:47 瀏覽:486
地下城堡2掛機腳本 發布:2025-01-13 13:20:44 瀏覽:206