2012年4月22日 星期日
討厭的Arccosine.com移除方法 (firefox)
如果您在網址列,隨意打上要搜尋的字時,您會發現網頁的查詢被導入到www.Arccosine.com去搜尋,有網友反應是因為安裝了google ebook downloader 的關係。
相關資料來源如下
http://support.mozilla.org/zh-TW/questions/850780
找到的解決方法如下,請參考
1.先將Firefox瀏覽器關閉(很重要,不然改了又沒用)
2.搜尋自己電腦的以下位置(隱藏檔需顯示才可以)
電腦使用者,請自行切換登入的帳號名稱
C:\Documents and Settings\電腦使用者\Application Data\Mozilla\Firefox\Profiles\亂數名.default\prefs.js
3.搜尋js檔內容
user_pref("keyword.URL", "http://www.Arccosine.com/search.php?q=");
改成如下 ,存檔 即可
user_pref("keyword.URL", "http://www.google.com/search?q=");
2011年10月7日 星期五
ASP.net SelectParameters的值為空字串 導致 Gridview無法顯示資料內容的解決方式
手動寫分頁 有點麻煩。故大多時候的資料呈現都可利用Gridview加上AccessDataSource等資料控件項來搭配。
但若遇到某個過濾參數來源值為空字串,就會讓 Gridview無法顯示資料內容
假設:有一個組織,區分為 上層單位Unit1與下層單位Unit2
Unit1必有值,Unit2不一定有值。
例如:Unit1為中區分公司,Unit2為行政課,但Unit2也可能為空字串。
下方將Unit1值以Session來過濾條件,Unit2值則以下拉式選單過濾
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:lea_DBcs %>"
ProviderName="<%$ ConnectionStrings:lea_DBcs.ProviderName %>" SelectCommand="SELECT* FROM [DocApply] WHERE ([Unit2] = @Unit2 and [Unit1] = @Unit1 " >
<selectparameters>
<asp:ControlParameter ControlID="DropDownList1" DefaultValue=" "
Name="Unit2" PropertyName="SelectedValue" Type="String" />
<asp:SessionParameter SessionField="Unit1" Name="Unit1" Type="String" />
</SelectParameters>
但若遇到某個過濾參數來源值為空字串,就會讓 Gridview無法顯示資料內容
假設:有一個組織,區分為 上層單位Unit1與下層單位Unit2
Unit1必有值,Unit2不一定有值。
例如:Unit1為中區分公司,Unit2為行政課,但Unit2也可能為空字串。
下方將Unit1值以Session來過濾條件,Unit2值則以下拉式選單過濾
* 記得在可能有空字串的SelectParameters條件,加設 DefaultValue=" "即可解決問題。
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:lea_DBcs %>"
ProviderName="<%$ ConnectionStrings:lea_DBcs.ProviderName %>" SelectCommand="SELECT* FROM [DocApply] WHERE ([Unit2] = @Unit2 and [Unit1] = @Unit1 " >
<selectparameters>
<asp:ControlParameter ControlID="DropDownList1" DefaultValue=" "
Name="Unit2" PropertyName="SelectedValue" Type="String" />
<asp:SessionParameter SessionField="Unit1" Name="Unit1" Type="String" />
</SelectParameters>
2011年8月24日 星期三
ASP.net 網頁以ashx取回之圖片連結無法正常顯示解決方式
雖然不一定最好的解決方式,但還是有點用
若剛將圖片上傳上去,並以AJAX搭配後端的ASHX取得含圖片連結的資料時
可能因為網頁快取的原因,圖片會無法正常顯示。
將App_Code這個目錄內的資料更新,強迫更新
FTP重新整理資料夾
這樣好像就OK了
2011年7月9日 星期六
[ Asp.Net ] 以ashx上傳XML檔案(不存檔)配合xsd驗證及讀取資料
程式碼片段 LoadXm..ashx
'以 StreamReader 取得該檔案!
Dim XmlFile As New System.IO.StreamReader(context.Request.Files(0).FileName)
Dim xmlContent As String = XmlFile.ReadToEnd()
Dim xmlStringReader As System.IO.StringReader = New System.IO.StringReader(xmlContent)
' 建立 XmlSchemaSet
Dim sc As XmlSchemaSet = New XmlSchemaSet()
sc.Add("", context.Server.MapPath("Your.xsd"))
'設定validation settings.
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas = sc
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
'驗證上傳後的檔案
Dim reader As XmlReader = XmlReader.Create(xmlStringReader, settings)
While reader.Read()
......................
End While
'以 StreamReader 取得該檔案!
Dim XmlFile As New System.IO.StreamReader(context.Request.Files(0).FileName)
Dim xmlContent As String = XmlFile.ReadToEnd()
Dim xmlStringReader As System.IO.StringReader = New System.IO.StringReader(xmlContent)
' 建立 XmlSchemaSet
Dim sc As XmlSchemaSet = New XmlSchemaSet()
sc.Add("", context.Server.MapPath("Your.xsd"))
'設定validation settings.
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas = sc
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
'驗證上傳後的檔案
Dim reader As XmlReader = XmlReader.Create(xmlStringReader, settings)
While reader.Read()
......................
End While
.net ADOX 為現有的MDB資料表增加欄位
上網找了MSDN的範例,不過都不是自己要的,我的需求是在現存的資料表增加欄位。
因在Web上增加欄位,非主機端還是用Code來操作會比較簡單。
Code在下面,提供大家參考,適合自己需求的 要再改一下。
記得先加入參考[Microsoft ADO Ext. 2.8 for DDL.....]
然後引用
IMPORTS ADOX
直接呼叫下列程序
Add_ColumToExistMdb("資料表名稱", "要增加的資料欄位", "資料型態(自行定義)")
'增加 資料庫 欄位 ()
Sub Add_ColumToExistMdb(ByVal TableName As String, ByVal ColName As String, ByVal ColType As String)
'TableName 資料表名稱
'ColName 欄位名稱
'ColType 欄位型態
Dim Cn = New ADODB.Connection
Cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\My.mdb")
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim xCol As New ADOX.Column
Dim blnColAlreadyExist As Boolean = False '判斷欄位是否存在的
Dim TranCode As Integer '轉換後的數字Enum
cat.ActiveConnection = Cn
tbl = cat.Tables(TableName) '針對現存的表格來做增加欄位的動作!
'在增加特定欄位前先偵測[欄位名稱]是否存在?
For Each xCol In tbl.Columns
'Debug.Print(xCol.Name.ToString)
If xCol.Name = ColName Then
blnColAlreadyExist = True
Exit For
End If
Next
'欄位沒有重複!
If blnColAlreadyExist = False Then
Select Case ColType '自訂欄位定義....
Case "long"
TranCode = 4 'DataTypeEnum.adSingle
End Select
'增加欄位
tbl.Columns.Append(ColName, TranCode)
cat.Tables.Refresh()
End If
Cn.Close()
Cn = Nothing
End Sub
因在Web上增加欄位,非主機端還是用Code來操作會比較簡單。
Code在下面,提供大家參考,適合自己需求的 要再改一下。
記得先加入參考[Microsoft ADO Ext. 2.8 for DDL.....]
然後引用
IMPORTS ADOX
直接呼叫下列程序
Add_ColumToExistMdb("資料表名稱", "要增加的資料欄位", "資料型態(自行定義)")
'增加 資料庫 欄位 ()
Sub Add_ColumToExistMdb(ByVal TableName As String, ByVal ColName As String, ByVal ColType As String)
'TableName 資料表名稱
'ColName 欄位名稱
'ColType 欄位型態
Dim Cn = New ADODB.Connection
Cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Application.Info.DirectoryPath & "\My.mdb")
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim xCol As New ADOX.Column
Dim blnColAlreadyExist As Boolean = False '判斷欄位是否存在的
Dim TranCode As Integer '轉換後的數字Enum
cat.ActiveConnection = Cn
tbl = cat.Tables(TableName) '針對現存的表格來做增加欄位的動作!
'在增加特定欄位前先偵測[欄位名稱]是否存在?
For Each xCol In tbl.Columns
'Debug.Print(xCol.Name.ToString)
If xCol.Name = ColName Then
blnColAlreadyExist = True
Exit For
End If
Next
'欄位沒有重複!
If blnColAlreadyExist = False Then
Select Case ColType '自訂欄位定義....
Case "long"
TranCode = 4 'DataTypeEnum.adSingle
End Select
'增加欄位
tbl.Columns.Append(ColName, TranCode)
cat.Tables.Refresh()
End If
Cn.Close()
Cn = Nothing
End Sub
2011年7月3日 星期日
.net 將既有的xml轉換為xsd檔案
在Visual Studio 安裝的目錄下,尋找xsd.exe檔案
找到之後,使用 [命令提示字元]
直接輸入 xsd [檔名ABC]
在同一個目錄下,就會產生同名的ABC.xsd
相關的語法使用,可參考以下網址
http://msdn.microsoft.com/zh-tw/library/x6c1kb0s%28v=vs.80%29.aspx
找到之後,使用 [命令提示字元]
直接輸入 xsd [檔名ABC]
在同一個目錄下,就會產生同名的ABC.xsd
相關的語法使用,可參考以下網址
http://msdn.microsoft.com/zh-tw/library/x6c1kb0s%28v=vs.80%29.aspx
JavaScript 物件長度或陣列長度的取法
經測試
物件長度 要用迴圈方式累加取得cnt
for (var obj in ObjS) {
cnt+=1;
}
陣列長度,直接以length取得,歸零用length=0
物件長度 要用迴圈方式累加取得cnt
for (var obj in ObjS) {
cnt+=1;
}
陣列長度,直接以length取得,歸零用length=0
訂閱:
文章 (Atom)