其實這也不是什麼高深的技術,只是一個簡單的觀念
在設定視窗的名稱時,只要不是相同的名稱就不會重覆開啟
但有時候function就是同一隻呀,要怎麼讓名稱不一樣
我的做法是在名稱的後面加上日期字串
其實這也不是什麼高深的技術,只是一個簡單的觀念
在設定視窗的名稱時,只要不是相同的名稱就不會重覆開啟
但有時候function就是同一隻呀,要怎麼讓名稱不一樣
我的做法是在名稱的後面加上日期字串
依照之前找到的範例來說,用一個列表(有只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}));
最後再看你要把列表的資料做什麼處理就結束收工
很容易忘記怎麼設定特別記錄下來,設定路徑如下
可用語法新增
CREATE TYPE [dbo].[參數名稱] FROM [char](10) NULL
或在資料夾上右鍵選擇新增使用者定義資料類型
去年報稅完想說我的自然人只剩下1年不到的時間,想說要來展期結果發現,最快展期時間是到期日的前60天
我看完就只想大罵,淦!提早一年不行哦!還只能60天前,要是我忘了怎麼辦!!
於是我算好了展期日,還設了行事曆提醒我什麼時候可以展期我的自然人
今天,我終於想到要展期了
看了一下線上的展期方法
ok嘛!只是安裝個軟體,工程師都很會的!
但是!!!
代誌不是憨人所想的那麼簡單
就發現第一步怎麼讀卡都讀不過,正當我一臉黑人問號,又跑去爬了憑證的網站
發現了另一個地方
哦哦哦哦!發現新天地,好像可以直接網頁登入!!
直接登果然沒辦法,需要安裝個小套件,然後在底下的小字看到需要安裝的東西
安裝完,還要重開機!好吧!都到這一步了,就重開機吧!這下我總算可以展延了吧!
高高興興的登入插卡,想登入網頁,●北!還是不行!依然說我沒安裝!
試了幾次我就放棄了,轉念一想,試一下剛剛的展延軟體好了
然後…
淦……
好像宿便通了一樣,我順利的讀到卡,也順利的展延了………
林老師咧!連身為工程師的我都要搞上30分鐘才能展延,其它人不用想了,等到他們搞懂都明年了吧!
所以這件事告訴我們,內政部的人都認為大家一進網站都會先安裝必要的軟體^_^,沒安裝到造成的錯誤不關他們的事呦!潮棒Der
.NET中有String.join的方法可以串接字串
在JQuery中要做到的話,可以用陣列的join
首先宣告一個陣列
var StringJoin = [];
加入值
StringJoin.push(1);
StringJoin.push(2);
StringJoin.push(3);
最後要顯示的時候
StringJoin.join()
()內可填要串接的符號,不填預設為,
單型陣列
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();
資料來源:http://blog.yam.com/hanasan/article/35806444
今天做一個留言功能,在送出留言的時候,將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
這次做一個留言功能,需要在前後台都加上,用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/
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"/>
資料來源: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/
文章出處: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>
if (Title.Contains(Input))
{
Title = Title.Replace(KnowledgeInput, string.Format("<span style='background-color:#FFFF77'>{0}</span>", KnowledgeInput));
}
別忘了前端view中要加入@Html.Raw
使用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();