2015年12月10日 星期四

[MVC]View helper的用法

總是有一些需要再view裡面處理,使用helper非常的簡便,如下判斷要使用那個class。

<div class ="@test(1)">test</div>

@helper test(int i)
{
    if (i > 0)
    {
     @("class1")}
    else
    {
     @("class2")
    }
}

2015年12月3日 星期四

[Jquery]重複註冊事件

今天使用bootstrap modal,發現重複註冊事件,點擊刪除按鈕後會有確認視窗,關閉確認視窗
再點擊刪除按鈕後,確認視窗的"是"按鈕(btnDelete)會累加執行click事件,
解決方法在每次click時將事件取消註冊,使用unbind即可。

已下圖為例。
刪除按鈕由後端動態生成
<button id="btnDeletechangeOut4" onclick="Delete(4)" type="button" class="btnDeletechangeOut btn btn-primary btn-sm">刪除</button>

然後呼叫function去做處理
function Delete(id) {
    $("#divDelete").modal({ backdrop: "static" });
         $("#btnDelete").on("click", function () {
              //刪除資料
            });
            $('#btnDelete').unbind();
        });
}


[jqGrid]判斷有無資料

loadComplete: function(xhr) {
       var rowNum = parseInt($(this).getGridParam("records"), 10);
       if (rowNum <= 0) {
           alert("目前無資料");
       }
}  

2015年11月25日 星期三

[MVC]動態載入PartialView並傳回ViewModel


筆者設計操作界面時,習慣在同個頁面下作業,即在同個畫面上開窗。
如下圖右下角檢視按鈕按下後開啟視窗。(開窗畫面為PartialView)


如何實作?
步驟1:
    在同頁面上放上<div id="Panel"></div>

步驟2:
     透過AJAX取得該筆資料
function OpenSubMenu(id)
{
    $.ajax({
        url: '/Test/GetData/',
        type: 'post',
        data: { id: id },
        cache: false,
        async: false,
        success: function (res) {
                         $("#Panel").html(res); //將PartialView塞入Panel
        }
    });
}

步驟3:
 [HttpPost]
 public ActionResult GetData(int id)
{
    return PartialView("_PartailView", exchangeOutService.GetData(id));
 }

ps:exchangeOutService.GetData(id) 這段請自行實作資料層,筆者是透過服務層叫用資料

2015年11月10日 星期二

[QlikView]圖表裡頭的運算式如何取得頁面上文字物件的值

小弟今天剛好有特數需求,需要另外使用marco來做特別處理,研究了一下
以下為marco基本使用方式
需求:
在圖表裡頭的運算式取得marco所設定的變數

先在編輯指令碼設定變數
Set RoomQtyTotal = 0 ;

1.設定>文件屬性
2.處發程序>點選時計算數據

 3.按下編輯模組輸入你的script

sub  GetRoomTotal
    set obj = ActiveDocument.GetSheetObject("TX200") '取得物件
    set cell = obj.GetCell(RowIter,ColIter)
    ActiveDocument.Variables("RoomQtyTotal").SetContent cell.Text, true '將物件值存入變數
    'msgbox(cell.Text)
end sub


4.圖表的運算式裡就可以使用變數做運算囉 
=$(RoomQtyTotal)



2015年10月27日 星期二

2015年10月23日 星期五

[QlikView] MATCH 使用方式

類似Sql Not IN
排除以下條件
LOAD *
FROM [RoomBasic.qvd](qvd)
Where  MATCH(roomid, '310-3', '321-1', '504-3', '301', '502', '503') =0;

Visual Studio JS intellisense 失效解決方式

  試了好久,發現到工具>選項>IntelliCode js項目設定啟用,重新開啟VS就正常了! 後來發現是TypeScript3.2版有問題停用,使用4.3版的TypeScript即可