2010年8月24日 星期二

Masterpage 使用不同層程式目錄所產生問題

最近看到jquery出的一個layout的套件
http://layout.jquery-dev.net/demos.cfm
覺得還不錯 就套用到新的案子上面
我的做法是
使用Masterpage 套用jquery的layout
分為左、上、右
右邊則是開發人員coding的內容
由於是使用jquery的套件 勢必要在Masterpager載入以下套件
jquery-1.4.1.js
jquery.ui.all.js
jquery.layout.js
開發初期相當順利
但當我的page套用這個.master的時候
剛好我的page有用到jquery的套件 但居然不能繼承.master所引用的jquery-1.4.1.js
必須另外載入
這時發生問題 我同時在.master與我的page都載入jquery-1.4.1.js
就出錯了 我不確定是不是jquery layout的問題
因為我想辦法來繼承.master的jquery
抓了文發現了一個好東西

CSS部分不會有這樣的問題 只有 "Script" 才會
當下馬上解決我所有的問題
不過過了幾天又出現另一個問題
我在page頁面加入一個Menu元件時出現以下錯誤

無法修改 Controls 集合,因為控制項包含程式碼區塊 (例如 <% ... %>)

這時我立刻想到是src="<%=ResolveClientUrl...的問題
解決的辦法是 只要將我們需要事先載入的 Script 加到ScriptManager即可
就這麼簡單...







不過相對的 Script 會有先後順序的問題
要注意把接下來的 Script 程式碼code在這段之後才會不出現問題

2010年7月30日 星期五

Windows Server 2008 Standard + IIS7 + ASP.NET 中文亂碼

進入IIS => .net全球化
將預設的utf-8
全部改成big5就ok了!

2010年7月26日 星期一

VC 9.0 runtime (X86) 安裝失敗

最近公司新案子要使用Team Foundation 2010
本想先下載試用版案裝看看 安裝的環境是Server 2008
結果一直卡在必要安裝的VC 9.0 runtime (X86) 安裝失敗
後來將下載的ISO檔燒成DVD 由光碟安裝就解決了
雖然不曉得為什麼 但這就是解決的方法...

2010年7月1日 星期四

Visual Studio 2008 無法 設定為啟始頁

專案發生了一件很吊詭的事
按開始偵錯鈕的時候 應該會直接run專案顯示啟始頁
因為我的案子是開Silverlight專案
他啟始頁會一直跑Silverlight測試頁出來
沒辦法顯示我設定好的啟始頁
解決的辦法就是先將Silverlight專案的資料夾先移除
Compiler後 再新增即可恢復

2010年6月28日 星期一

Gridview 無資料時顯示標頭 header

//dt為DataTable判斷是否為0筆資料
if (dt.Rows.Count == 0)
{
dt.Columns[1].AllowDBNull = true;
dt.Rows.Add(dt.NewRow());
GridView1.DataSource = dt;
GridView1.DataBind();
int columnCount = GridView1.Rows[0].Cells.Count;
GridView1.Rows[0].Cells.Clear();
GridView1.Rows[0].Cells.Add(new TableCell());
GridView1.Rows[0].Cells[0].ColumnSpan = columnCount;
GridView1.Rows[0].Cells[0].Text = "無資料!";
GridView1.RowStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
}
else
{
GridView1.DataSource = dt;
GridView1.DataBind();
}
參考至:http://blog.finalevil.com/2008/11/aspnetgridview01.html

2010年6月23日 星期三

使用 window.showModalDialog 無法彈出視窗問題

//showModalDialog_1.aspx 新增一個iframe

//按鈕內容
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
String filename = hidden2.Value + "_" + hidden1.Value + ".xls";
Response.Write("<script language=javascript>window.location.href='download.aspx?check=true&filename="+ filename +"';</script>");
}
//download.aspx 的page_load加上以下內容
//(必須判斷網頁傳值,不然畫面會無限postback)
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["check"] == "true")
{
String filename = Request.QueryString["filename"];
Response.Redirect("~\\E_mail\\attached\\" + filename);
}}

寫給自已看... showModalDialog 與 LinkButton doPostBack

function upload1() {
var cust_no = document.getElementById("Label10");
returnValue = window.showModalDialog("../E_upload/upload_1.aspx", cust_no.innerText, "dialogWidth=450px;dialogHeight=350px");
}
jQuery(document).ready(function() {
var tmp = window.dialogArguments;
//mail_no
var hidden1 = document.getElementById("hidden1");
//rfq_no
var hidden2 = document.getElementById("hidden2");
var tmparray = tmp.split(",");
var hidden3 = document.getElementById("hidden3");
hidden1.value = tmparray[0];
hidden2.value = tmparray[1];
if (hidden3.value != "load") {
hidden3.value = "load";
__doPostBack('LinkButton2', '');
}
});