目前分類:未分類文章 (14)

瀏覽方式: 標題列表 簡短摘要

其實這也不是什麼高深的技術,只是一個簡單的觀念

在設定視窗的名稱時,只要不是相同的名稱就不會重覆開啟

但有時候function就是同一隻呀,要怎麼讓名稱不一樣

我的做法是在名稱的後面加上日期字串

墨讌子 發表在 痞客邦 留言(0) 人氣()

依照之前找到的範例來說,用一個列表(有只key值),去另一個列表中找出不存在表a資料

var OrgID = PageList.Select(s => s.OrgId).Distinct();
var DBDelete = DBList.Where(s => !OrgID .Contains(s.OrgId)); 

後來我需要做一個類似的方法,但是key值有兩個,我思考了一下怎麼處理

我新增了一個新的字串陣列,想辦法把資料加進去

List<string[]> Keys =new List<string[]>();

foreach (var row in PageList)
            {
                if (!Keys .Contains(new string[]{row.value1,row.value2}))
                {
                    Keys .Add(new string[]
                                {
                                    row.value1,
                                    row.value2
                                });
                }
            }

這時我的第二行就可以改寫成

var DBDelete = DBList.Where(s => !Keys .Contains(new string[] { s.value1 ,s.value2})); 

最後再看你要把列表的資料做什麼處理就結束收工

墨讌子 發表在 痞客邦 留言(0) 人氣()

很容易忘記怎麼設定特別記錄下來,設定路徑如下

使用者自定義屬性.png

可用語法新增
CREATE TYPE [dbo].[參數名稱] FROM [char](10) NULL

或在資料夾上右鍵選擇新增使用者定義資料類型

墨讌子 發表在 痞客邦 留言(0) 人氣()

去年報稅完想說我的自然人只剩下1年不到的時間,想說要來展期結果發現,最快展期時間是到期日的前60天

我看完就只想大罵,淦!提早一年不行哦!還只能60天前,要是我忘了怎麼辦!!

於是我算好了展期日,還設了行事曆提醒我什麼時候可以展期我的自然人

今天,我終於想到要展期了

看了一下線上的展期方法

screenshot-moica.nat.gov.tw 2017-03-03 22-39-37.png

ok嘛!只是安裝個軟體,工程師都很會的!

但是!!!

代誌不是憨人所想的那麼簡單

就發現第一步怎麼讀卡都讀不過,正當我一臉黑人問號,又跑去爬了憑證的網站

發現了另一個地方

screenshot-member.nat.gov.tw 2017-03-03 22-55-56.png

哦哦哦哦!發現新天地,好像可以直接網頁登入!!

直接登果然沒辦法,需要安裝個小套件,然後在底下的小字看到需要安裝的東西

screenshot-member.nat.gov.tw 2017-03-03 22-56-40.png

安裝完,還要重開機!好吧!都到這一步了,就重開機吧!這下我總算可以展延了吧!

高高興興的登入插卡,想登入網頁,●北!還是不行!依然說我沒安裝!

試了幾次我就放棄了,轉念一想,試一下剛剛的展延軟體好了

然後…

淦……

好像宿便通了一樣,我順利的讀到卡,也順利的展延了………

林老師咧!連身為工程師的我都要搞上30分鐘才能展延,其它人不用想了,等到他們搞懂都明年了吧!

所以這件事告訴我們,內政部的人都認為大家一進網站都會先安裝必要的軟體^_^,沒安裝到造成的錯誤不關他們的事呦!潮棒Der

墨讌子 發表在 痞客邦 留言(0) 人氣()

.NET中有String.join的方法可以串接字串

在JQuery中要做到的話,可以用陣列的join

首先宣告一個陣列

var StringJoin = [];

加入值

StringJoin.push(1);
StringJoin.push(2);
StringJoin.push(3);

最後要顯示的時候

StringJoin.join()

()內可填要串接的符號,不填預設為,

參考資料來源

墨讌子 發表在 痞客邦 留言(0) 人氣()

參考來源

單型陣列

List<String> matches = (

from b in MyObject.classBList
from c in b.classCList
join d in dict
on c.ID equals d.Key
select d.Value == 0 ? "YES" : "NO"

).ToList();

 

多型陣列

List<DataRow> DataRowList =(

from s in DBlink
select new DataRow
{rowTable1 = s.DBFild1,
rowTable2 = s.DBFild2,
}

).ToList();

 

墨讌子 發表在 痞客邦 留言(0) 人氣()

資料來源:http://blog.yam.com/hanasan/article/35806444

墨讌子 發表在 痞客邦 留言(0) 人氣()

今天做一個留言功能,在送出留言的時候,將textarea的值變為空白

所以我在HttpPost中的最後一行,將該欄位設為空值,如下所示

PageModel.留言內容=string.Empty;

結果還是無法正常清空,頁面依然保留當初輸入的值,以前在from時代都會偷偷用textbox藏值,現在竟然成為我的惡夢

所以上網找了方法,最後終於讓我知道怎麼回事了

原來是ModelState的關係

就我的理解他大概就像是個暫存器,保留頁面上所有的資料,如果在post之後要改變原本頁面上的資料就需要清除ModelState

清除方式

全部清除只要一行 ModelState.Clear(); 

如果不想全部清除,就用 ModelState.Remove("欄位名稱"); 就行了。

 

資料來源:http://www.dotblogs.com.tw/b7076476/archive/2012/10/23/78792.aspx

 

墨讌子 發表在 痞客邦 留言(0) 人氣()

這次做一個留言功能,需要在前後台都加上,用jQuery做了一個「全選/全不選」的checkbox

同樣的程式碼卻在前、後有不同的反應

$("#DivName").find(":checkbox").attr('checked', pSourceElement.attr('checked')); //解釋:在某div中所有的ckeckbox的ckecked跟隨傳入元件的checkbox的狀態

紅色是這次問題關鍵的程式碼

在後台看pSourceElement.attr('checked')的值是會顯示布林值true/false

而在前台的值會顯示成checked

後來發現是前後台的jQuery版本不同

後台是1.5.1

前台是1.7.2

而去官網了解的結果後發現,1.6之後的版本要使用.porp才能跟舊版一樣取得布林值

 

詳細說明請看官網:http://api.jquery.com/attr/

墨讌子 發表在 痞客邦 留言(0) 人氣()

1.Try this:

<inputtype="button"onclick="function1();function2();"value="Call2Functions"/>

2.Call second function at the end of first function

function func1(){//--- some logic
     func2();}function func2(){//--- some logic}

and call func1() onclick of button:

<inputtype="button"onclick="func1();"value="Call2Functions"/>

墨讌子 發表在 痞客邦 留言(0) 人氣()

資料來源:http://expect7.pixnet.net/blog/post/37919326

 

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <script type="text/javascript" src="jquery.js" ></script>
        <script>
         var Submit=function(){
            var URLs="recive.php";
           
            $.ajax({
                url: URLs,
                data: $('#sentToBack').serialize(),
                type:"POST",
                dataType:'text',

                success: function(msg){
                    alert(msg);
                },

                 error:function(xhr, ajaxOptions, thrownError){ 
                    alert(xhr.status); 
                    alert(thrownError); 
                 
}
            });
            
        }
        </script>
    </head>
    <body>
        <form id="sentToBack">
            <input type="text" name="Text"/> 
            <input type="button"  value="送出" onClick="Submit()"/>
        </form>
    </body>
</html>

 

ajax當中的參數:


url:指定要進行呼叫的位址。

data:傳送至Server的資料,會自動轉為query string的型式,如果是GET請求還會幫你附加到URL。可用processData選項禁止此自動轉換。物件型式則為一Key/Value pairs。這個範例程式,是使用serialize(),會把name為sentToBack的表單中的資料傳送出去,型態的部分要看type的設定,一般表單都是用POST或是GET。

type:請求方式,POST/GET。

dataType:預期Server傳回的資料類型,如果沒指定,jQuery會根據HTTP MIME Type自動選擇以responseXML或responseText傳入你的success callback。
可選的資料類型有:

xml:傳回可用jQuery處理的XML
html:傳回HTML,包含jQuery會自動幫你處理的script tags。
script:傳回可執行的JavaScript。(script不會被自動cache,除非cache設為true)
json:傳回JSON
jsonp:在URL加上?callback=?參數,並在Server端配合送回此jsonp callback。
text:傳回純文字字串。

success:請求成功時執行函式。
function (data, textStatus) {
// data 可以是 xmlDoc, jsonObj, html, text, 但還是要參考datatype

}

error:請求失敗時執行函式。
function (xhr, ajaxOptions, thrownError) {
//通常ajaxOptions或thrownError只有一個有值
}
這個很重要,因為有時候Sever寫好的程式不容易測試,可以透過這個函數把錯誤顯示出來。

其他可能比較會用的參數:

complete:請求完成時執行的函式(不論結果是success或error)。
function (XMLHttpRequest, textStatus) {
// the options for this ajax request
}

beforeSend:發送請求之前可在此修改XMLHttpRequest物件,如添加header等,你可以在此函式中return flase取消Ajax request。
function (XMLHttpRequest) {
// the options for this ajax request
}

其他更多相關的資訊:http://api.jquery.com/jQuery.ajax/

 

墨讌子 發表在 痞客邦 留言(0) 人氣()

文章出處:http://www.takka.com.hk/jstutor/ch4/ch4.htm#4.1-A

 

<html> <head> <title> Function demonstration </title>

<script>
function simpleDemo( )
{ alert(" This is alert diolog box. ")
  confirm(" This is confirm dialog box. ")
 msgWin=window.open("","","width=350,height=200")
 msgWin.document.write("<h1> Thank you !</h1>")
}
</script>
</head>

<body bgcolor=beige text=brown> <h1> 示範網頁 </h1>
<form>

<input type="button" name="" value=" 開始 " onClick="simpleDemo( )" >

</form>

</body> </html>

墨讌子 發表在 痞客邦 留言(0) 人氣()

if (Title.Contains(Input))
{
Title = Title.Replace(KnowledgeInput, string.Format("<span style='background-color:#FFFF77'>{0}</span>", KnowledgeInput));
}

別忘了前端view中要加入@Html.Raw

墨讌子 發表在 痞客邦 留言(0) 人氣()

使用AddRange

//將六個list合成一個
List<DataModel> lTotalList = new List<DataModel>();
lTotalList.AddRange(List1);
lTotalList.AddRange(List2);
lTotalList.AddRange(List3);
lTotalList.AddRange(List4);
lTotalList.AddRange(List5);
lTotalList.AddRange(List6);
大List名稱 = lTotalList.AsEnumerable();

墨讌子 發表在 痞客邦 留言(0) 人氣()