Page_Load(object sender, EventArgs e) {
if (Page.IsPostBack) {
/* step 1 */
}
else {
/* step 4 */
}
/* step 5 */
...
/* step 2 6 */
}
aspResultPager_Init(object sender, EventArgs e) {
/* step 3 */
}
2012年7月31日
.NET Postback 流程
Fast search error:unexpected token
fast search的 query中若有空白字元, 直接塞進 QueryString就會出現 [error:unexpected token]的訊息
解決方式:
在 serchview.Search(...)之前, 先把 query做 and變更的處理
ex: QueryString="web android" → QueryString="and(web,android)"
// process when query contains space char
解決方式:
在 serchview.Search(...)之前, 先把 query做 and變更的處理
ex: QueryString="web android" → QueryString="and(web,android)"
// process when query contains space char
if (_customizeQuery.Contains(" "))
{
string[] splitString = _customizeQuery.Split(' ');
_query.QueryString
= string.Format("and({0})", string.Join(",", splitString));
}
_searchView = _searchFactory.GetSearchView(config.collection);
_searchResult = _searchView.Search(_query);
2012年7月26日
SQL inner join v.s. exist
exist 是 left去比對 right, 找到符合的就回傳 (true)
inner join是兩邊全部 join後, 再去找符合的
#.exist在處理上遇到 null值可能會有問題
inner join是兩邊全部 join後, 再去找符合的
#.exist在處理上遇到 null值可能會有問題
2012年7月25日
Report Builder not showing default value as select all
先看一下 query撈出來的資料是不是有 null或 blank""的值
如果有的話就會產生此情況
可以在 general勾選 allow blank value ("")來解決
或在 query裡先濾掉
where [field]<>'' or [field] is not null
reference:
My MDX SSRS report is not showing default value as 『Select All' (SSRS 2008R2)
如果有的話就會產生此情況
可以在 general勾選 allow blank value ("")來解決
或在 query裡先濾掉
where [field]<>'' or [field] is not null
reference:
My MDX SSRS report is not showing default value as 『Select All' (SSRS 2008R2)
2012年7月24日
Umbraco root element is missing
scripting files
後台在抓元素( ex: Model.keyImage)時
可以用 Model.HasProperty("name") 來測有沒有這個元素存在
Model.keyImage 回傳值為 umbraco.MacroEngines.DynamicXml型態
(Model.keyImage.InnerText)
沒有值的時候為 string, 長度為 0
(Model.keyImage.Length>0)
最快的方法還是直接用 try catch來忽略掉抓不到元素的錯誤訊息
並賦予 bool型態的 flag以 false, 方便後續的程式碼處理
後台在抓元素( ex: Model.keyImage)時
可以用 Model.HasProperty("name") 來測有沒有這個元素存在
Model.keyImage 回傳值為 umbraco.MacroEngines.DynamicXml型態
(Model.keyImage.InnerText)
沒有值的時候為 string, 長度為 0
(Model.keyImage.Length>0)
最快的方法還是直接用 try catch來忽略掉抓不到元素的錯誤訊息
並賦予 bool型態的 flag以 false, 方便後續的程式碼處理
2012年7月23日
趨勢 Note #005
Main: Slide Show
1. ===========================================
RepeatableCustomContentPrevalueEditor.cs
→ private DropDownList CreateUmbracoDataTypesList(string idSuffix) { }
→ → ConfigHelper.cs
→ → → DefaultDataType
這三組是 data type的代碼
因為 safeqa和 cspqa的 textstring的 uid不同, 所以再剛搬到 safeqa時, Slide Image Picker底下找不到 textstring的選項
2. ===========================================
Slide Show 的箭頭符號是塞在另一個 css檔來設定 .slide-prev, .slide-next的樣式並指定圖片
害我看 cshtml內的設定看半天都不知道為什麼可以做出箭頭的效果
幹!!
1. ===========================================
RepeatableCustomContentPrevalueEditor.cs
→ private DropDownList CreateUmbracoDataTypesList(string idSuffix) { }
→ → ConfigHelper.cs
→ → → DefaultDataType
string[] strArray = new string[] { "EAD69342-F06D-4253-83AC-28000225583B", "158AA029-24ED-4948-939E-C3DA209E5FBA", "C2D6894B-E788-4425-BCF2-308568E3D38B" };<
這三組是 data type的代碼
因為 safeqa和 cspqa的 textstring的 uid不同, 所以再剛搬到 safeqa時, Slide Image Picker底下找不到 textstring的選項
2. ===========================================
Slide Show 的箭頭符號是塞在另一個 css檔來設定 .slide-prev, .slide-next的樣式並指定圖片
害我看 cshtml內的設定看半天都不知道為什麼可以做出箭頭的效果
幹!!
<style type="text/css">
.slide-prev, .slide-next {
position:absolute;
background-image: url(/media/assets/apt/arrow.png);
background-repeat: no-repeat;
background-position: 0 0;
display: block;
height: 45px;
width: 27px;
padding: 0px 10px;
z-index:9999;
opacity:0.7;
cursor:pointer;
}
.slide-next {
background-position: 0 -46px;
}
</style>
2012年7月18日
jQuery .keyup() 即時偵測輸入字串
$(function () {
$("#aspQueryString").keyup(function () {
if ($(this).attr("value").length > 100) {
}
});
});
2012年7月17日
ListView 自訂DataSource Eval("...") 找不到項目
ex:
DataBinding: 'BA.JPCONS.Search.Page.SearchResult+NavigatorData' 沒有包含名為 'name' 的屬性。
ListView用自己訂的 class去當作 DataSource
變數定義後面須加上 { get; set; } 而不是分號 ;
DataBinding: 'BA.JPCONS.Search.Page.SearchResult+NavigatorData' 沒有包含名為 'name' 的屬性。
ListView用自己訂的 class去當作 DataSource
變數定義後面須加上 { get; set; } 而不是分號 ;
2012年7月16日
compile後, dll(參考)從專案裡神隱
把 esp-searchapi.dll加入專案參考後
在物件瀏覽器是看得到 api的
compile後, 物件瀏覽器裡的 api就消失了
但是 bin裡面還是可以看得到有參考該 dll
解決:
專案屬性中, 把目標 Framwork從 .NET Framework 4.0 Client Profile改成 .NET Framework 4.0
在物件瀏覽器是看得到 api的
compile後, 物件瀏覽器裡的 api就消失了
但是 bin裡面還是可以看得到有參考該 dll
解決:
專案屬性中, 把目標 Framwork從 .NET Framework 4.0 Client Profile改成 .NET Framework 4.0
2012年7月13日
加入 web服務
寫好 web service後, 我竟然還在別的專案裡用 HttpWebRequest, 傳 url來獲得回傳值, 超笨的, 不過至少是學了一下 HttpWebRequest怎麼用
在專案中, 用加入 web服務(填入 web service的 url), 不用 using, 可以直接把 web service當作型別來宣告使用
ex:
在專案中, 用加入 web服務(填入 web service的 url), 不用 using, 可以直接把 web service當作型別來宣告使用
ex:
trendmicro.safeqa.BetaPortalUrls4FAST _result = new trendmicro.safeqa.BetaPortalUrls4FAST();<
2012年7月11日
加入服務參考(Service References)錯誤
加入服務參考時若出現"嘗試尋找位於 ... 的服務時發生錯誤"
可能是
1. IIS處沒加入站台
2. 要先建置/發行
7/12新增:
BA.JPCONS內沒有加入服務參考, 直接發行後佈版, 直接可以使用
2012年7月10日
趨勢 Note #000
New Tech
- Umbraco 建置(x), 開發(x), 使用(12%)
- Web Service
- FAST
- C# Console
- HttpWebRequest
- xpath (xml)
- jQuery Cycle
Review
- jqGrid
- Xml
IIS加入站台並更改應用集區
IIS 加入站台
更改應用集區為 ASP.NET 4.0
- IIS → 新增網站
- 選擇實體路徑
- 填入站台名稱、本機名稱 (localhost)
更改應用集區為 ASP.NET 4.0
- 網站上按右鍵 → 管理網站 → 進階設定
- 應用程式集區 → 選 ASP.NET v4.0
Umbraco using NodeFactory
using presentation.nodeFactory; using umbraco.NodeFactory;
用到 Node型態時,若引用 umbraco.NodeFactory會導致以下錯誤:
型別 'umbraco.interfaces.INode' 是定義在未參考的組件中。您必須加入參考至組件 'interfaces, Version=1.0.4085.20549, Culture=neutral, PublicKeyToken=null'
也會導致無法將該 web service加入服務參考
需要改用 presentation.nodeFactory
2012年7月9日
FAST search engine
今天 YC丟了個新工作給我
要我研究一下 FAST這個搜尋引擎
好把 betaportal的網頁都塞進搜尋引擎裡
page, node {url, title, content, (meta-tag)}
=> FAST doc.fields(url, title, content)
=> web api => FAST server
不要 hardcore, 要能調整權重 (藉 xml吧)
擴充性, ex: 可加入別的 fields
最大的困難應該是如何列出所有的 node
補:
寫一個 web service放在 umbraco site裡面
再寫一個 console透過該 web service去讀取 umbraco的資料
聽到要寫 web service就覺得胃痛, 總覺得是很難的東西
google查了一下, 發現沒有想像中的難 ~
+++ Web Service 入門與觀念 / ASP.NET的五篇文章&範例
建立 web service
加入參考 umbraco.dll (in folder External)
using umbraco.presentation.Factory; // or umbraco.NodeFactory
要我研究一下 FAST這個搜尋引擎
好把 betaportal的網頁都塞進搜尋引擎裡
page, node {url, title, content, (meta-tag)}
=> FAST doc.fields(url, title, content)
=> web api => FAST server
不要 hardcore, 要能調整權重 (藉 xml吧)
擴充性, ex: 可加入別的 fields
最大的困難應該是如何列出所有的 node
補:
寫一個 web service放在 umbraco site裡面
再寫一個 console透過該 web service去讀取 umbraco的資料
聽到要寫 web service就覺得胃痛, 總覺得是很難的東西
google查了一下, 發現沒有想像中的難 ~
+++ Web Service 入門與觀念 / ASP.NET的五篇文章&範例
建立 web service
加入參考 umbraco.dll (in folder External)
using umbraco.presentation.Factory; // or umbraco.NodeFactory
2012年7月6日
趨勢 Note #002
這裡的系統是怎麼架的才能有不能在本機端 debug
只能靠寫 log來觀察程式運作的狀況?
搞得這麼不方便是基於什麼鬼考量
為什麼? 為什麼? 為什麼?
도대체 왜? 왜? 왜?
沒辦法隨意更改程式內容然後即時得到結果
太痛苦了
只能靠寫 log來觀察程式運作的狀況?
搞得這麼不方便是基於什麼鬼考量
為什麼? 為什麼? 為什麼?
도대체 왜? 왜? 왜?
沒辦法隨意更改程式內容然後即時得到結果
太痛苦了
2012年7月5日
該如何評估需要多久才能上手一個工作(任務)
每次接觸一個新的挑戰
總是會被上面問及:需要多久?
重點是,我不知道如何評估
如果是接管系統,系統的大小
如果是新的專案,專案的 ...
以什麼為標竿來評估自己的能力
又或者,僅是回答對方想得到的答案?
總是會被上面問及:需要多久?
重點是,我不知道如何評估
如果是接管系統,系統的大小
如果是新的專案,專案的 ...
以什麼為標竿來評估自己的能力
又或者,僅是回答對方想得到的答案?
2012年7月4日
2012年7月2日
Code Review
輸入文字有沒有做 html encode或用:
jQjuery
search->match
javascript
寫在 head的東西
會比網頁物件先 or 慢載入?
預防此情況就把 script寫在 ready裡面
jQjuery
$("<option>").text(xxx.val(xxx));
search->match
javascript
寫在 head的東西
會比網頁物件先 or 慢載入?
預防此情況就把 script寫在 ready裡面