asp.net是一種使嵌入網頁中的腳本可
公司主營業務:做網站、網站建設、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯建站是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯建站推出五大連池免費做網站回饋大家。
由因特網服務器執行的服務器端腳本技術,它可以在通過HTTP請求文檔時再在Web服務器上動態創建它們。 指 Active Server
Pages(動態服務器頁面) ,運行于 IIS(Internet Information Server
服務,是Windows開發的Web服務器)之中的程序 。
ASP .NET開發的首選語言是C#及VB .NET,同時也支持多種語言的開發
如:C#、VB .NET、 F# 、 Powershell 、Java/J#、Python、Ruby、Delphi 、JScript
1,
要在服務器安裝CRRedist2008_X64.msiCRRedist2008_X64_CHS.msiCRRedist2008_x86.msiCRREdist2008_x86_chs.msi這幾個文件,因為我們的服務器是Win2008,所以我選擇了CRRedist2008_X64.msiCRRedist2008_X64_CHS.msi這兩個文件進行安裝。
這個是必須安裝的,否則頁面會報以下錯誤:
未能加載文件或程序集“CrystalDecisions.ReportAppServer.CommLayer,Version=10.2.3600.0,Culture=neutral,PublicKeyToken=692fbea5521e1304”或它的某一個依賴項。系統找不到指定的文件。
2,
文件發布的時候,web.config下要有以下幾個引用:
add assembly="CrystalDecisions.Data.AdoDotNetInterop, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/
add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/
add assembly="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/
add assembly="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/
add assembly="CrystalDecisions.VSDesigner, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/
add assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/
add assembly="CrystalDecisions.Windows.Forms, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/
并且bin目錄下必須有這幾個引用,如果沒有,把這幾個文件拷貝進來(在C盤里找就可以);
3,
要把C:\ProgramFiles\CommonFiles\businessobjects\2.7\Managed下所有的文件都copy到服務器網站的bin目錄下,這一步也是必要的,否則頁面會報以下錯誤:
注意:這一步我沒有在服務器中找到,所以我沒有做;
未能加載文件或程序集“CrystalDecisions.Web,Version=10.2.3600.0,Culture=neutral,PublicKeyToken=692fbea5521e1304”或它的某一個依賴項。系統找不到指定的文件。
4,
如果水晶報表工具條無法顯示,圖片變成一個一個紅叉,那我們還需要把本機C:\Inetpub\wwwroot下的aspnet_client目錄copy到服務器網站根目錄下。
以上功課做完了,按理說水晶報表應該可以正常運行了(
我做到這已經可以了
),但是打開頁面又跳出來一個錯誤:
文件UNKNOWN.RPT內出錯:無法將請求提交給后臺處理。
在網上搜了一下,應該是因為
“出現這個錯誤的主要原因是水晶報表引擎沒有權限生成報表。查看了一個服務器的權限設置,發現C盤的根目錄Users組沒有權限,只要把Users組設置為對C盤有寫入的權限問題就解決了。如果認為User組對整個C盤有寫入權限不安全,也可以把Temp目錄設為有寫入權限,問題也可以解決。
初步估計水晶報表引擎可能要在Temp目錄里生成一些臨時的交換文件,所以需要C盤Temp目錄的操作權限。”
在 模型中 vs 已經完全脫離了編譯而成為了一個徹底的ide 算是一個不小的改動 其中更是取消了有關Web Application的概念 使得習慣了vs 的人剛開始的時候會有一些摸不著頭腦 下面簡單說一下我在使用過程中自己總結的 算是一點經驗
新建web工程并且位置是文件系統的時候 vs 只是幫你建好了一個sln文件 這個東西只是指引m *** uild 如何進行編譯的 過程是 ide 調用 m *** uild m *** uild解析sln文件 m *** uild調用aspnet_piler exe進行網站的編譯 所以aspnet_piler exe只是負責進行網站的編譯的
預編譯的概念在framework 里面就存在了 vs 中的預編譯指的是將頁面對應的cs/vb文件與resx文件編譯后統一集成到一個dll中放到bin目錄下 將aspx文件直接拷貝過去 這樣做會留下隱患 因為aspx文件就直接暴露在最后的發行包中 如果完全是codeb behind模型還好 只能改改界面 如果采用了頁面上的來生成頁面 源代碼就暴露了 針對這些問題 vs 采用了一種新的模式
請參看ASP NET 編譯工具 (Aspnet_piler exe) 這篇文章了解對各種文件的處理方式
IDE發布
vs 中選擇 生成 〉發布網站 在對話框中的操作將映射到aspnet_piler exe的參數中 可更新的發布對應 u 其他選項類似 請參考上面的文章了解
注意 發布時將忽略nfig中的debug?問騁簧晌薜魘孕畔⒌奈募?
手工編譯
簡單說來 如果是無更新發布模式編譯 appcode下面的class編譯成dll放在bin下 頁面內容清空位置不變作占位用 同時頁面被編譯成一個隨機名稱的dll 增加一個同piled文件到bin目錄下 內容大概如下
?xml version= encoding= utf ?
preserve resultType= virtualPath= /Forum/AdminList aspx hash= c filehash= f d c flags= assembly= App_Web_hmrycg w type= ASP forum_adminlist_aspx
filedeps
filedep name= /Controls/footer ascx /
filedep name= /Controls/header ascx /
filedep name= /Forum/AdminList aspx /
filedep name= /Forum/AdminList aspx cs /
filedep name= /Forum/menu ascx /
filedep name= /Forum/menu ascx cs /
/filedeps
/preserve
里面只是列出了頁面上的customcontrol 這里已經完成了和masterfile的映射 這樣最大限度的保護了頁面的敏感信息 發布過的網站中只能看見一堆文件名了 可更新的發布模式與vs 類似 頁面就直接拷貝過來不予編譯了
講了一堆原理 下面說一下aspnet_piler exe的調用方法 這是我使用的例子
我的開發目錄是這樣的
Project/
library/
devroot/
pubroot/
proj sln
使用的命令如下
aspnet_piler v / p \devroot f \pubroot
分析
v / 指明了iis的虛擬目錄
p \devroot 表示代碼實際位置
\pubroot 指明了要發布的位置
f 表示強制改寫目標位置
lishixinzhi/Article/program/net/201311/13677
AspNetPager簡單使用方法 AspNetPager作為分頁工具,常常用于綁定數據控件,如DataGrid , Repeater等
在這里,簡單講解下 綁定 Repeater 控件的方法,其余控件綁定方法類似:
'全局變量 i 用于 讀取 數據集記錄的條數(注意:讀取一次就夠了)
Dim i As New Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If i = 0 Then
con = New SqlConnection(ConfigurationManager.ConnectionStrings("NEWS_ConnectionString").ConnectionString)
con.Open()
cmd = New SqlCommand()
cmd.Connection = con
cmd.CommandText = "select count(*) from XWNRB "
'AspNetPager控件 可見
Me.AspNetPager1.Visible = True
'AspNetPager控件 每頁顯示大小為10條記錄
Me.AspNetPager1.PageSize = 10
'AspNetPager控件 記錄總的記錄條數
Me.AspNetPager1.RecordCount = Convert.ToInt32(cmd.ExecuteScalar())
'AspNetPager控件 數據綁定
Me.SHOW_DATA_LIST()
i = i + 1
con.Close()
End If
End Sub
Protected Sub SHOW_DATA_LIST()
con = New SqlConnection(ConfigurationManager.ConnectionStrings("NEWS_ConnectionString").ConnectionString)
sql_Text = "select * from XWNRB where "
da = New SqlDataAdapter(sql_Text, con)
Dim ds As New Data.DataSet
'第一個參數為存儲入的數據集為ds
'第二個參數為存儲的起始記錄序號
'第三個參數為存儲的記錄每頁條數
'第四個參數為存儲入的數據集ds中的具體某個表
da.Fill(ds, Me.AspNetPager1.PageSize * (Me.AspNetPager1.CurrentPageIndex - 1), Me.AspNetPager1.PageSize, "NEWS_LIST")
'真正綁定
Me.Repeater2.DataSource = ds.Tables("NEWS_LIST").DefaultView
Me.Repeater2.DataBind()
End Sub
'即每次點擊新的頁面,或者點擊 Pre,Next,Last.....時候都會觸發這個事件
Protected Sub AspNetPager1_PageChanged(ByVal src As Object, ByVal e As Wuqi.Webdiyer.PageChangedEventArgs) Handles AspNetPager1.PageChanged
'更新當前所在的頁數序列
Me.AspNetPager1.CurrentPageIndex = e.NewPageIndex
'更新完后綁定
Me.SHOW_DATA_LIST()
End Sub
當前標題:aspnetvb報表 aspnet mvc 報表
URL網址:http://m.kartarina.com/article16/dodesdg.html
成都網站建設公司_創新互聯,為您提供網站收錄、品牌網站制作、建站公司、網站策劃、響應式網站、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯