最近遇到要在windows桌面程式中用程式去開啟加密過的PDF文件,並且要在程式中讓使用者輸入PDF開啟密碼後直接開啟檔案,即檔案開啟不再要求輸入密碼,由於Adobe好像無法以command的方式帶入密碼開啟檔案,也查無相關API,最後只好另外找了元件iTextSharp來代替。
在將iTextSharp加入專案後,可以用PdfReader讀入加密過的PDF檔案,並進行PDF文件的操作
最近遇到要在windows桌面程式中用程式去開啟加密過的PDF文件,並且要在程式中讓使用者輸入PDF開啟密碼後直接開啟檔案,即檔案開啟不再要求輸入密碼,由於Adobe好像無法以command的方式帶入密碼開啟檔案,也查無相關API,最後只好另外找了元件iTextSharp來代替。
在將iTextSharp加入專案後,可以用PdfReader讀入加密過的PDF檔案,並進行PDF文件的操作
如果GridView還沒有被繫結資料時,就做gv.Columns[0].Visible = false,那麼就會造成PostBack後無法取得隱藏欄位的值,因為此欄位並沒有Render程Html到前端,
所以應該要在GridView.RowCreated 事件中隱藏欄位,Create事件是在DataBound後發生的,所以此時資料已經繫結到GridView,就不會發生PostBack取不到值的狀況
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { e.Row.Cells[RowIndex].Visible = false; }
查詢
// 查詢 var result = from q in mydt.AsEnumerable() select q; // 防止NULL值 if (result.FirstOrDefault<DataRow>() != null) { DataTable dt = result.CopyToDataTable<DataRow>(); foreach (DataRow dr in dt.Rows) { Response.Write( string.Format("{0} - {1} - {2} - {3}", dr["Id"].ToString(), dr["Name"].ToString(), dr["Age"].ToString(), dr["Sex"].ToString())); } }
WHERE
// 有條件查詢 var result = from q in mydt.AsEnumerable() where q.Field<int>("Age") > 30 select new UserInfo() { Id = q.Field<int>("Id"), Name = q.Field<string>("Name"), Age = q.Field<int>("Age"), Sex = q.Field<int>("Sex") }; foreach (UserInfo info in result) { Response.Write(string.Format("{0} - {1} - {2} - {3}", info.Id, info.Name, info.Age, info.Sex)); }
COUNT
ASP.NET與ASP的差別在於,ASP.NET不是ASP版本的更新,而是一個全新的統一Web開發平臺。ASP是以直譯式語言架構,每次讀取網頁皆需逐行編譯程式碼,執行效率不佳;而ASP.NET則是編譯式語言,執行編譯過的原生機器碼使效能大幅提升。兩者皆可在記事本撰寫程式,更重要的是,ASP.NET不限於VBScript或JScript語言,可搭配Visual Studio .NET工具,使用任何.NET相容語言開發ASP.NET,包括Visual Basic .NET、Visual C#及JScript .NET。
ASP的副檔名為「.asp」,ASP.NET的副檔名為「.aspx」,兩者的撰寫模式相似性高,但是,ASP.NET的物件模型作了大幅修改,加強結構化和物件導向,並非完全回溯相容(Backward Compatible),大部分的ASP網頁必須大幅修改過後才能在ASP.NET下執行。