2013年12月24日 星期二

C# Email 寄出


//formName: 寄件者姓名
//fromEmail: 寄件者mail
//title: 信件title
//sendMailList: 收件者
//content: 寄件內容
public void sendMail(string fromEmail, string title, List<string> sendMailList, string content)
        {
            //string body = "寄件者:" + name + "   Email帳號:" + fromEmail + "   內容:" + description + "   "
            // + "請到管理後台回復信件";


            // 設定Gmail SMTP位址, 以及Gmail帳號
            SmtpClient client = new SmtpClient("mail.webgenie.com.tw");
            client.Credentials = new NetworkCredential("jeff", "qwer123456");
            //client.EnableSsl = true;   //安全性的驗證

            //寄件人、主旨、內容
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress(fromEmail);
            mail.Subject = title;
            mail.IsBodyHtml = true;
            mail.Body = content;

            //收件人
            for (int i = 0; i < sendMailList.Count; i++)
            {
                mail.To.Add(sendMailList[i]);
            }

            ////附件
            client.Send(mail);

        }

標籤:

2013年12月23日 星期一

C# 驗證碼

using System.Drawing;
using System.IO;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

protected void Page_Load(object sender, EventArgs e)
{
    string str_ValidateCode = GetRandomNumberString(5);
    Session["ValidateCode"] = str_ValidateCode;    //驗證號碼存入session
    CreateCheckCodeImage(str_ValidateCode);

}

//亂數產生數字
private string GetRandomNumberString(int int_NumberLength)
{
    Random rnd = new Random();
    string RandonStr = "";

    for (int i = 0; i < int_NumberLength; i++)
    {
        RandonStr += rnd.Next(1, 9).ToString();
    }

    return RandonStr;
}

//動態建立圖片
private void CreateCheckCodeImage(string checkCode)
{
    Bitmap image = new Bitmap((int)(Math.Ceiling((checkCode.Length * 13.5))) , 25);
    Graphics g = Graphics.FromImage(image);

    Random random = new Random();
    g.Clear(Color.White);

    for (int i = 0; i < 25; i++)
    {
        int x1 = random.Next(image.Width);
        int x2 = random.Next(image.Width);
        int y1 = random.Next(image.Height);
        int y2 = random.Next(image.Height);

        g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);

    }

    Font font = new System.Drawing.Font("Arial", 14, (FontStyle.Bold));
    var brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2F, true);
    g.DrawString(checkCode, font, brush, 2, 2);

    //畫圖片的前景噪音點
    for (int i = 0; i < 100; i++)
    {
        int x = random.Next(image.Width);
        int y = random.Next(image.Height);

        image.SetPixel(x, y, Color.FromArgb(random.Next()));
    }

    string savePath = Server.MapPath("~") + "/images/validate.gif";   //圖片存放位子
    image.Save(savePath, System.Drawing.Imaging.ImageFormat.Gif);
     

}

標籤:

Javascript 呼叫列印功能(預覽列印)

<a href='javascript:printform();'></a>

標籤:

2013年12月20日 星期五

Jquery 衝突問題 ('$' 和 'Jquery')

<script src="http://某網址/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type='text/javascript'>
var jQuery132 = jQuery.noConflict(true);
</script>


加載後用 jQuery132 取代 $
jQuery132(function(){ alert('test') });


出處:http://www.jb51.net/article/24187.htm

標籤:

2013年12月12日 星期四

Jquery 滾輪滑動

function ScrollContral(objStr){

var $body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $('html') : $('body')) : $('html,body');
    $body.animate({
        scrollTop: $(objStr).offset().top - 300 //滑動的位子
    }, 600);
     
}

標籤:

2013年12月11日 星期三

GridView 分頁 版面



放置在GridView Html 將GridView 加入RowCreated
<PagerTemplate>
<div class="List_file"></div> 
           
    <div class="Feed">
    <div class="pagination sabrosus">
            <table align="center"  width="100%">
                <tr>
                    <td style="text-align: center">
                        <%--第<b><asp:Label ID="lblPageIndex" runat="server" Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>"></asp:Label></b>頁--%>
                        共<b><asp:Label ID="lblPageCount" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageCount %>"></asp:Label></b>頁
                                       
                                       
                            <asp:LinkButton ID="lbnFirst" runat="Server" CommandArgument="First" CommandName="Page"
                                Enabled="<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>" Text="首頁"></asp:LinkButton>
                            <asp:LinkButton ID="lbnPrev" runat="server" CommandArgument="Prev" CommandName="Page"
                                Enabled="<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>" Text="上一頁"></asp:LinkButton>
                            <%-- 在此加入 PlaceHolder --%>
                            <asp:PlaceHolder ID="NumbericPagerPlaceHolder" runat="server"></asp:PlaceHolder>
                            <asp:LinkButton ID="lbnNext" runat="Server" CommandArgument="Next" CommandName="Page"
                                Enabled="<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>"
                                Text="下一頁"></asp:LinkButton>
                            <asp:LinkButton ID="lbnLast" runat="Server" CommandArgument="Last" CommandName="Page"
                                Enabled="<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>"
                                Text="尾頁"></asp:LinkButton>
                                   
                    </td>
                </tr>
            </table>
            </div>
        </div>
</PagerTemplate>

.CS檔
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    GridViewRow currentRow = e.Row;
        
    if (currentRow.RowType == DataControlRowType.Pager)
    {

        PlaceHolder numbericPagerPlaceHoder = ((PlaceHolder)currentRow.FindControl("NumbericPagerPlaceHolder"));
        LinkButton numbericButton = null;
        int pageSize = GridView1.PageSize;

        int pageIndex = GridView1.PageIndex;
        int pageCount = GridView1.PageCount;
        int startIndex = (pageIndex >= pageCount - 1) ? 0 : (pageIndex < 5) ? 0 : (pageIndex > pageCount - 5) ? pageCount - 10 : pageIndex - 5;
        int endIndex = (startIndex + 9 <= pageCount - 1) ? startIndex + 9 : pageCount - 1;

        numbericPagerPlaceHoder.Controls.Add(new LiteralControl("  "));

        for (int i = startIndex; i <= endIndex; i++)
        {
            if (i == pageIndex)
            {
                numbericPagerPlaceHoder.Controls.Add(
                    new LiteralControl(String.Format("<span style='color: deeppink; font-weight: bold;'>{0}</span> ", i + 1)));
            }
            else
            {
                numbericButton = new LinkButton();
                numbericButton.Text = (i + 1).ToString();
                numbericButton.CommandName = "Page";
                numbericButton.CommandArgument = (i + 1).ToString();

                numbericPagerPlaceHoder.Controls.Add(numbericButton);
                numbericPagerPlaceHoder.Controls.Add(new LiteralControl(" "));
            }
        }

        numbericPagerPlaceHoder.Controls.Add(new LiteralControl("  "));
    }
}

標籤: ,

2013年12月10日 星期二

C# 找出文章關鍵字

.ashx
//例如找出文章中是否'key'這字串

string orgWgText = "";   //原始字串/修改後的字串
int wordIndex = 0;   //目前關鍵字

public void ProcessRequest (HttpContext context) {
{
    context.Request.Form["wgtext"].ToString();
    findKeyWord(0, 'key');
}

//找到關鍵字
//startIndex 文章開始搜尋的位子
private void findKeyWord(int startIndex, string keyword)
{
    string wgtext = "";
    wgtext = orgWgText.Remove(0, startIndex);   //重新設定開始點
    int a = orgWgText.Length;

    if (wgtext.IndexOf(keyword) != -1)
    {
        string s1 = "<a style='color:blue;'>";
        string s2 = "</a>";
        startIndex = wgtext.IndexOf(keyword) + startIndex;    //找到關鍵字並設定為文章開始點

        orgWgText = orgWgText.Insert(startIndex, s1);
        orgWgText = orgWgText.Insert(startIndex + s1.Length + keyword.Length, s2);

        findKeyWord(startIndex + s1.Length + s2.Length + keyword.Length, keyword);
    }

}

標籤:

2013年12月6日 星期五

Microsoft.ACE.OLEDB.12.0 提供者並未登錄於本機電腦上

Microsoft.ACE.OLEDB.12.0 提供者並未登錄於本機電腦上


http://sharedderrick.blogspot.tw/2013/04/access-database-engine-2010-64-32.html


標籤:

C# Excel 讀取 NPOI 並轉 DataTable

NPOI載點:http://npoi.codeplex.com/
只限分析.xls格式

public DataTable ExcelForDataTable(string strFilePath)
{
    HSSFWorkbook wk;

    using (FileStream fs = new FileStream(strFilePath, FileMode.Open))
    {
        wk = new HSSFWorkbook(fs);
    }

    //取得sheet名稱
    HSSFSheet hst;
    hst = (HSSFSheet)wk.GetSheetAt(0);

    //單行單行的取得sheet理的資料
    HSSFRow hr;

    DataTable dt = new DataTable();

    for (int i = 0; i < hst.LastRowNum; i++)
    {
        hr = (HSSFRow)hst.GetRow(i);

        //加入DataTable欄位
        if (i == 0)
        {
            for (int a = 0; a < hr.LastCellNum; a++)
            {
                dt.Columns.Add(hr.Cells[a].ToString());
            }

        }

        //加入資料
        else
        {
            DataRow dr = dt.NewRow();
            for (int a = 0; a < hr.LastCellNum; a++)
            {
                dr[a] = hr.Cells[a];
            }
            dt.Rows.Add(dr);

        }

    }

    return dt;

}

標籤: ,

2013年12月5日 星期四

C# Excel 讀取 NPOI

NPOI載點:http://npoi.codeplex.com/
只限分析.xls格式

string strFilePath = string.Format(@"D:\old桌面\testWed2\NewFolder\test1.xls");
HSSFWorkbook wk;

using (FileStream fs = new FileStream(strFilePath, FileMode.Open))
{
    wk = new HSSFWorkbook(fs);
}

//取得sheet名稱
HSSFSheet hst;
hst = (HSSFSheet)wk.GetSheetAt(0);
string strSheetname = hst.SheetName;

//單行單行的取得sheet理的資料
HSSFRow hr;
hr = (HSSFRow)hst.GetRow(0);

string a = hr.Cells[0].ToString();
string b = hr.Cells[1].ToString();

標籤: ,