2010年5月27日 星期四

[ASP.NET]左右ListBox選單(3) -- 非同步PostBack Trigger

 承[ASP.NET] 左右ListBox選單(1) -- 按鈕Trigger[ASP.NET] 左右ListBox選單(2) -- Javascript Trigger的主題,有介紹以雙擊(double click)去觸發PostBack,然而以javascript送出則會有整頁往後送的效果,網頁會閃爍。
本文介紹將Control放入Update Panel來避免頁面閃爍的現象,另以非同步的javascript去做PostBack,同時可達到雙擊的效果與簡短了程式碼的撰寫。

首先,承上文的Code:
  1. Control放入UpdatePanel中
  2. ListBox的Control內加入Double Click事件的Function
  3. __doPostBack('ButtonRight','')  為非同步送出觸發ButtonRight 的事件

2010年5月26日 星期三

[ASP.NET]左右ListBox選單(2) -- Javascript Trigger

[ASP.NET] 左右ListBox選單(1) -- 按鈕Trigger 的主題,選取Value後按下中間的四個按鈕觸發PostBack,本文將雙擊(double click)的動作加入觸發PostBack的行列,讓選取的時候更加方便與直覺。

首先,承上文的Code:
  1. <head></head>之間加入javascript,雙擊時將送出form
  2. ListBox的Control內加入Double Click事件的Function,並加入一個hidden欄位
  3. CS頁面內加入接收雙擊ListBox時操作

2010年5月25日 星期二

[ASP.NET]左右ListBox選單(1) -- 按鈕Trigger

以ListBox實做左方ListBox為可選擇之項目,右方ListBox為已選擇之項目,中間放置四個按鈕,分別為向右鈕/全選向右鈕/向左鈕/全選向左鈕。


Blogger加上表格--放入HTML TABLE

在Blogger寫程式分享的文章,若有插入表格的需求,
表格編寫需要用HTML的方式,如:<table><tr><td>XXX</td></tr>

寫入的原始碼需用CSS的方式包住,才可避免有多餘的空白出現。


[Table 原始碼]

[ASP.NET]LinkButton + Image

LinkButton只能秀文字,ImageButton只能秀圖片,
那當有需求是文字與圖片要一起在同一個按鈕時,目前的解法就是將圖片放入LinkButton中即可。



<asp:LinkButton runat="server" ID="LinkButton1" BorderColor="Gray"
    Font-Names="Arial" ForeColor="Navy" BorderWidth="1px" BackColor="LightGray">
    <img src="images/filter/funnel.png" style="border:0; vertical-align:bottom" />Data Filter
</asp:LinkButton>

2010年5月13日 星期四

Blogger加上程式碼 -- 高亮度顯示程式(SyntaxHighlighter)

在Blogger寫程式分享的文章,必備的套用工具SyntaxHighlighter這類的高亮度顯示程式。
套用方法:
  1. 進入管理介面[版面配置]
  2. [修改 HTML]
  3. 備份範本
  4. [修改範本],加入以下code至<head>與</head>之間
<link type="text/css" rel="stylesheet" href="http://alexgorbatchev.com/pub/sh/2.0.320/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="http://alexgorbatchev.com/pub/sh/2.0.320/styles/shThemeDefault.css" id="shTheme"/>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shCore.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shLegacy.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushBash.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushCpp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushCSharp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushCss.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushDelphi.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushDiff.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushGroovy.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushJava.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushJScript.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushPhp.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushPlain.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushPython.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushRuby.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushScala.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushSql.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushVb.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushXml.js"></script>
<script type='text/javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.ClipboardSwf = 'http://http://alexgorbatchev.com/pub/sh/2.0.320/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>

後續只要在code以<pre class="brush:xml"></pre>框住即可

brushes 分類如下:



Brush nameBrush aliasesFile name
ActionScript3as3, actionscript3shBrushAS3.js
Bash/shellbash, shellshBrushBash.js
ColdFusioncf, coldfusionshBrushColdFusion.js
C#c-sharp, csharpshBrushCSharp.js
C++cpp, cshBrushCpp.js

CSScssshBrushCss.js
Delphidelphi, pas, pascalshBrushDelphi.js

Diffdiff, patchshBrushDiff.js
Erlangerl, erlangshBrushErlang.js

GroovygroovyshBrushGroovy.js
JavaScriptjs, jscript, javascriptshBrushJScript.js

JavajavashBrushJava.js
JavaFXjfx, javafxshBrushJavaFX.js

Perlperl, plshBrushPerl.js
PHPphpshBrushPhp.js

Plain Textplain, textshBrushPlain.js
PowerShellps, powershellshBrushPowerShell.js

Pythonpy, pythonshBrushPython.js
Rubyrails, ror, rubyshBrushRuby.js

ScalascalashBrushScala.js
SQLsqlshBrushSql.js

Visual Basicvb, vbnetshBrushVb.js
XMLxml, xhtml, xslt, html, xhtmlshBrushXml.js




2010年5月12日 星期三

[Linq]LINQ to Object (ListBox)

可複選的ListBox取出被Selected的值。
解法一:使用LINQ取出Selected == true
解法二:使用for迴圈尋訪ListBox的每一個ListItem,並判斷ListItem.Selected == true


Sample.aspx
<asp:ListBox ID="ListBox1" runat="server" Rows="5" SelectionMode="Multiple" Width="150px">
    <asp:ListItem>AAAA</asp:ListItem>
    <asp:ListItem>BBBB</asp:ListItem>
    <asp:ListItem>CCCC</asp:ListItem>
    <asp:ListItem>DDDD</asp:ListItem>
</asp:ListBox>

解法一:
Sample.aspx.cs
var selItems = from ListItem li in ListBox1.Items
                   where li.Selected == true
                   select li.Text;

    Response.Write("Selected Item(s): ");
    foreach (var item in selItems)
    {
        Response.Write(item.ToString() + "");
    }


解法二:
Sample.aspx.cs
ListBox1.SelectionMode = ListSelectionMode.Multiple;
    for (int i = 0; i < ListBox1.Items.Count; i++)
    {
        if(ListBox1.Items[i].Selected == true)
        {
           Response.Write( ListBox1.Items[i].ToString() + ""); 
        }
    }

2010年5月11日 星期二

[Linq]LINQ to DataSet

針對DataTable的資料,若有加工或篩選的需求,Linq 是目前我選用要熟悉的技術。

 LINQ to DataSet 中的查詢

其中範例中,大致分成兩種,一為查詢運算式語法,二為以方法為基礎的查詢語法
其實對我而言,就是一個有from,另一個沒有~
當我遇到要做Order By時,似乎只有看到有from那種語法有範例。