BloggerAds

最近遇到要在windows桌面程式中用程式去開啟加密過的PDF文件,並且要在程式中讓使用者輸入PDF開啟密碼後直接開啟檔案,即檔案開啟不再要求輸入密碼,由於Adobe好像無法以command的方式帶入密碼開啟檔案,也查無相關API,最後只好另外找了元件iTextSharp來代替。

在將iTextSharp加入專案後,可以用PdfReader讀入加密過的PDF檔案,並進行PDF文件的操作

文章標籤

達達 發表在 痞客邦 留言(0) 人氣()

如果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;
}

文章標籤

達達 發表在 痞客邦 留言(0) 人氣()

查詢

// 查詢
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

文章標籤

達達 發表在 痞客邦 留言(0) 人氣()

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下執行。
文章標籤

達達 發表在 痞客邦 留言(0) 人氣()

1 234