30/10/2016

Sử dụng C# gửi email bằng gmail

Đôi khi bạn cần gửi email từ ứng dụng của bạn và... bạn chọn gmail để thực hiện việc gửi email giúp bạn, việc này dễ khi dùng với c#

 private bool SendEmail(string subject, string htmlString)

{

try

{

MailMessage message = new MailMessage();

SmtpClient smtp = new SmtpClient();

message.From = new MailAddress("your_out_going_address");

message.To.Add(new MailAddress("receive_address"));

message.Subject = subject;

message.IsBodyHtml = true; //to make message body as html  

message.Body = htmlString;

smtp.Port = 587;

smtp.Host = "smtp.gmail.com"; //for gmail host  "smtp.gmail.com"

smtp.EnableSsl = true;

smtp.UseDefaultCredentials = false;

smtp.Credentials = new NetworkCredential("your_out_going_address", "your_out_going_address_password");

smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

smtp.Send(message);

return true;

}

catch (Exception ex) {

//Your common write log method

//LogError(GetExceptionMsg(ex));

return false;

}

}

//Lưu ý:

// tìm google "Less secure app access" và tắt theo hướng dẫn.....

23/07/2016

03/02/2016

Tạo danh sách chọn đơn giản trong MVC

 Đoạn code c# đơn giản để tạo 1 danh sách chọn theo dạng dropdownlist

Dưới dây là hàm trả về danh sách chọn tháng trong năm hiện tại tính từ tháng 01 tới tháng hiện tại

//start

public static SelectList GetMonths()

        {

            List<CommonKeyValueViewModel> months = new List<CommonKeyValueViewModel>();

            var currentYear = DateTime.Now.Year;

            var currentMonth = DateTime.Now.Month;

            for(int i = 1; i<= currentMonth; i ++)

            {

                months.Add(new CommonKeyValueViewModel { Label = string.Format("{0}/{1}", i < 10 ? "0" + i.ToString() : i.ToString(), currentYear), Point = i });

            }

            List<SelectListItem> list = new List<SelectListItem>();

            foreach (var row in months)

            {

                list.Add(new SelectListItem()

                {

                    Text = row.Label,

                    Value = row.Point.ToString()

                });

            }

            return new SelectList(list, "Value", "Text");

        }

//end

Hiển thị trên razor view như sau:

@Html.DropDownList("month", yournamespace.class.GetMonths(), "Chọn tháng", new { @class = "form-control" })

12/10/2015

Kiến thức Java cơ bản

 Làm bài test nhanh kiểm tra lại kiến thức java cơ bản với 59 câu hỏi tại w3schools.com


Mời bạn vào link sau:

https://www.w3schools.com/java/exercise.asp

13/09/2015

Lazy loading partial view in MVC C#

Đối với trang web có nhiều phần nội dung khác nhau, 

ví dụ: 

1) header 

2) body

2.1) left

2.2) center

2.3) right

3) footer

 Để tăng thời gian hiển thị nội dung trang web lên giao diện cho thân thiên với người dùng thay vì load 1 lần ta có thể thực hiện load từng phần riêng lẻ với partial view

Đoạn code sau thể hiện load footer

1) Trên view layout

<script>

    $(document).ready(function() {

//dùng jquery thực hiện load action FooterContents trong controller Home

//vào div có id là partialFooter

        $("#partialFooter").load('@Url.Action("FooterContents", "Home")');

    });

</script>

2) Trong code behind controller Home, action FooterContents

public async Task<ActionResult> FooterContents()
{
List<ObjectDTO> objDTOs = new List<ObjectDTO>();

try
{
//uow call bll to get data from database
objDTOs = await unitOfWork.Entity.GetList(20);
//do some things..
}
catch(Exception ex)
{
//handle exception
}
//display listing
return PartialView("FooterContents", objDTOs);
}

09/10/2014

Custom valid MVC C# field

 Trong MVC, ngoài những ValidationAttribute có sẵn như Required, Display ..

Đôi khi bạn cần gọi hàm check riêng của bạn cho 1 field name nào đó

ví dụ class:

public class AccountDTO

{

/// <summary>

/// Tên đăng nhập

/// </summary>

[Required(ErrorMessage = "Nhập tên đăng nhập")]

[Display(Name = "Tên đăng nhập")]

[CheckUsernameAvailable]

public string Username { get; set; }

//những field khác ....

}

Hãy lưu ý: CheckUsernameAvailable 

cần kiểm tra username có ai sử dụng hay chưa

Ta có class tương ứng


public class CheckUsernameAvailable : ValidationAttribute

{

public CheckUsernameAvailable()

: base("")

{

}


protected override ValidationResult IsValid(object value, ValidationContext validationContext)

{

if (value != null)

{

//parse object qua string

string userName = Convert.ToString(value);

//thực hiện query database

//DAO execute here

var result = checkUsernameAvailable(userName);

if (!result)

{

//khai báo errorMsg

errorMsg = string.Format("Tên đăng nhập {0} đã có người sử dụng", userName);

return new ValidationResult(errorMsg);

}

}

return ValidationResult.Success;

}
}

09/10/2013

Sql management studio

Anh em làm dev với cơ sở dữ liệu sql server chắc không ai không cần dùng SSMS đâu nhỉ

Tất nhiên miễn phí và chất lượng, hàng của MS mà ;)

link thông tin SSMS: https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

link download bản mới nhất: https://aka.ms/ssmsfullsetup

Đăng ký tên miền, hosting, máy chủ, thiết kế lập trình website theo yêu cầu

 Chính thức trở thành đơn vị cung cấp dịch vụ đăng ký tên miền quốc tế, tên miền Việt Nam hosting, máy chủ, cloud hosting, cloud server, ema...