Đăng ký vps giá rẻ, tên miềndomain. Việc kiểm tra và mua tên miền giá rẻ, domain giá rẻ, hosting giá rẻ, máy chủ ảo giá rẻserver giá rẻ chỉ với 2 bước đơn giản. Giúp bạn tiên phong trong kinh doanh Online

Asp.net
 9ecva.com - 9e Chu Van An Forever : Asp.net
Tiêu đề Chủ đề: Tổng hợp các thủ thuật lập trình asp.net – Phần 3 Trả lời bài viếtGửi bài viết mới
Tác giả
Nội dung << Chủ đề trước | Chủ đề kế tiếp >>
DUCVINH83
Administrator
Administrator
Avatar
Không ngừng học hỏi !

Ngày gia nhập: 01/11/2005
Giới tính:
Đến từ: Vietnam
Trạng thái:
Bài viết: 365
Tiền: 738$
Địa chỉ e-mail: Gửi mail
Yahoo! IM: Yahoo! IM
Sinh nhật: 17/02/1983
Cảnh cáo: (0%)
Minus 1 warningCurrent warnlevel: 0%Add 1 warning
Ngày gửi: 16/08/2011 lúc 10:47 sáng | Đã khóa IP Trích dẫn DUCVINH83

Trong 2 phần trước tôi đã tổng hợp 20 thủ thuật  (mỗi phần 10 thủ thuật)  lập trình với asp.net. Trong phần tiếp theo này tôi sẽ tiếp tục tổng hợp 10 thủ thuật nữa để các bạn tham khảo.

21: Hiển thị chính xác nội dung văn bản TextArea

Khi bạn nhập nội dung văn bản trong TextArea thường mất các ký tự khoảng trắng hoặc ký tự xuống dòng. Nếu bạn muốn giữ đúng định dạng đã nhập trong TextArea bạn thực hiện thay thế các ký tự đó như ví dụ

Label1.Text = TextBox1.Text.Replace("\n", "<br />").Replace(" ", "&nbsp;");

22. Sử dụng ViewState đúng chỗ

Khi lập trình web với asp.net sử  dụng các control, khi bạn view source sẽ thấy như minh họa

<input type="hidden" name="__EVENTVALIDATION"
id="__EVENTVALIDATION" value="/wEWAgKK7LjKBwKM54rGBgzCWqbCIzq33uVXHF19FzfdGPsJ" />

Nếu bạn sử dụng càng nhiều control thì value càng lớn. điều này sẽ làm ảnh hưởng đến tốc độ, băng thông cũng như các cỗ máy tìm kiếm (Các máy tìm kiếm tìm kiếm tốt nhất cho khoảng 20KB source đầu tiên trên trang của bạn, quá số này thường sẽ bị bỏ qua – Tham khảo ASP.NET SEO around VIEWSTATE). Vì vậy nếu là lập trình website bạn nên bỏ ViewState bằng cách

Trong web.config

<pages enableViewStateMac='false'/>

Hoặc trong từng trang:

<%@ Master Language="C#" EnableViewState ="false"

Hoặc với từng control bạn cũng có thể bỏ ViewState

 <asp:Button ID="BT1" EnableViewState="false" runat="server" />

Nhưng bạn chú ý 1 điều là khi bạn bỏ ViewState thì các sự kiện postback sẽ không có đúng hiệu lực của nó, chính vì vậy bạn cân nhắc ở trang nào nên dùng ViewState, trang nào không nên dùng ViewState.

23. Cách dùng khác của mệnh đề if … else

Thông thường hoặc theo thói quen bạn hay dùng mệnh đề if … else như sau:

private string abc(int gio)
{
    string str = "";
    if (gio < 12)
    {
        str = "Chào buổi sáng";
    }
    else
    {
        str = "Chào buổi chiều";
    }
    return str;
}

Với dạng if … else đơn giản bạn có thể dùng theo cấu trúc khác như sau (dễ và gọn hơn nhiều)

private string abc(int gio)
{
    string str = "";
    str = (gio < 12) ? "Chào buổi sáng" : "Chào buổi chiều";
    return str;
}

24. Xóa hết các thẻ html của nội dung

Khi trình bày dữ liệu nhất là khi bạn copy dữ liệu từ trang khác, thường là sẽ có các style sheet của trang bạn copy về. Khi trình bày dữ liệu nhất là sử dụng Tooltip bạn sẽ bị lỗi không hiển thị được (Đây cũng là vấn đề nhiều bạn hỏi khi thực hiện theo bài Hướng dần thực hiện tooltip). Để xóa hết html của một chuỗi bạn dùng hàm sau:

private string RemoveHTMLTag(string HTML)
{
    // Xóa các thẻ html
    System.Text.RegularExpressions.Regex objRegEx = new System.Text.RegularExpressions.Regex("<[^>]*>");

    return objRegEx.Replace(HTML, "");
}

25. Dùng hàm Split với tham số là một chuỗi:

Bình thường bạn sử dụng hàm Split để chuyển chuỗi thành mảng với 1 ký tự xuất hiện trong chuỗi, với hàm Split tham số truyền vào là char nên bạn chỉ chuyên được 1 lý tự. Nếu bạn dùng hàm Split với tham số là 1 chuỗi bạn dùng như ví dụ sau:

string strHTML = "<p>Bài 1</p><p>Bài 2</p><p>Bài 3</p><p>Bài 4</p>";
string[] strSplit = Regex.Split(strHTML, "</p>");

Ở ví dụ này ta dung Regex.Split của lớp System.Text.RegularExpressions – tôi tạo ra mảng strSplit để lấy các phần tử là các thẻ <p> và nội dung của nó. Điều này khi bạn không sử dụng Regex.Split sẽ không thực hiện được

26. Lấy nội dung của một thẻ html

Giả sử bạn có một chuỗi gồm nhiều đoạn được đặt trong các thẻ html (thẻ <p> chẳng hạn), bạn muốn lấy nội dung của một thẻ <p> trong chuỗi đó. bạn dùng hàm như cí dụ sau:

static string GetParagraphOfHTMLTag(string strHTML)
{
    Match m = Regex.Match(strHTML, @"<p> \s*(.+?)\s*</p>");
    if (m.Success)
    {
        return m.Groups[1].Value;
    }
    else
    {
        return "";
    }
}

Trong hàm trên bạn thay chỉ số 1 bằng chỉ số thứ tự thẻ html bạn muốn lấy
Ví dụ:

string strHTML = "<p>Bài 1</p><p>Bài 2</p><p>Bài 3</p><p>Bài 4</p>";
string s1 = GetParagraphOfHTMLTag(strHTML);

Khi đó s1 của bạn sẽ là Bài 1

27. Khắc phụ lỗi font khi viewsource khi dùng FCKEditor

Nếu bạn không để ý config cho FCKEditor thì khi lưu lại dữ liệu trong CSDL sẽ lưu tiếng Việt dưới dạng Encode, trong text sẽ có các ký tự như sau:

< =”Microsoft FrontPage 5.0″ name=GENERATOR> < =FrontPage.Editor. name=ProgId>  Kh&ocirc;ng cần chạy đ&ocirc;n chạy đ&aacute;o khắp
các trung t&acirc;m để mong t&igrave;m được một c&ocirc;ng
việc l&agrave;m th&ecirc;m tăng thu nhập, chẳng cần phải gật
đầu với những c&ocirc;ng việc nằm ngo&agrave;i v&ugrave;ng

Mặc dù đoạn text này vẫn được trình duyệt hiển thị đúng nhưng trong html code bị như thế, nhìn không thích một chút nào cả hơn nữa có thể gây ra dư thừa dữ liệu hoặc tìm kiếm tiếng Việt không chính xác. Để khắc phục hiện tượng này bạn thêm vào file config dòng sau (vào file fckconfig.js):

FCKConfig.ProcessHTMLEntities = false ;

Xem thêm Cấu hình và sử dụng bộ soạn thảo FCKEditor

28. Sử dụng ImageGallery của FreeTextbox để quản lý và chèn ảnh vào bài viết

Khi sử dụng FreeTextbox . Nếu không config thì bạn không có trình quản lý Image với chức năng upload và chèn ảnh vào nội dung bài viết. Với FreeTextBox cũng đã hỗ trợ bạn đủ công cụ để quản lý và chọn ảnh vào bài viết. Khi download thư viện này về tại http://freetextbox.com/download/ trong thư mục giải nén có file ftb.imagegallery.aspx và thư mục aspnet_client. Bạn hãy copy file và thư mục này vào thư mục web của bạn. Sau đó trong code bạn dùng như sau:

<FTB:FreeTextBox ID="ftbContent" runat="server" Height="120px"
  ImageGalleryUrl="../ftb.imagegallery.aspx?rif=/imagespath/&a mp;cif=~/uploads/image/"
 Width="100%" ToolbarLayout="  ParagraphMenu,FontFacesMenu,FontSizesMenu,FontForeColorsMenu |Bold,Italic,Underline,Strikethrough;Superscript,Subscript,R emoveFormat|JustifyLeft,JustifyRight,JustifyCenter,JustifyFu ll;BulletedList,NumberedList,Indent,Outdent;CreateLink,Unlin k,InsertImage,InsertRule|Cut,Copy,Paste;Undo,Redo,Print,   InsertImageFromGallery,Preview,SelectAll,WordClean,NetSpell" >
</FTB:FreeTextBox>

Với code ví dụ trên tất cả ảnh sẽ được quản lý và lưu vào thư mục uploads/image/ trong web của bạn. Khi viết bài bạn có thể tạo các thư mục con và hiển thị các hình ảnh dạng ImageGallery rất dễ quản lý và tiện không kém FCKEditor

Xem thêm Hướng dẫn sử dụng và cấu hình FreeTextbox

29: Viết comment cho các hàm

Khi sử dụng VS để viết code bạn thấy VS hỗ trợ viết code và list ra các hàm, phương thức tương ứng và khi bạn chọn một phương thức nào đó sẽ có comment về các tham số, kiểu dữ liệu, giá trị trả về, …

Khi bạn viết hàm bạn cũng có thể tạo comment như vậy bằng cách bạn đưa con nháy lên phía trên của hàm đang viết và gõ 3 dấu /// khi đó VS sẽ tự tạo các commnet và bạn ghi các comment của bạn vào và khi dùng nó cũng sẽ hiển thị comment như trên.

Ví dụ:

/// <summary>
/// Xóa một file được chọn
/// </summary>
/// <param name="fileName">file cần xóa</param>
public void DeleteFile(string fileName)
{
    try
    {
        FileInfo fi;
        if (System.IO.File.Exists(fileName) == true)
        {
            fi = new FileInfo(fileName);
            fi.Delete();
        }
    }
    catch (Exception ex) { ex.Message.ToString(); }
}

30. Đọc nôi dung của một trang web

Bạn cần đọc nội dung của một trang nào đó để bóc tách dữ liệu bạn dùng hàm sau để đọc nội dung.

/// <summary>
/// Đọc nội dung trang bất kỳ
/// </summary>
/// <param name="Address">Địa chỉ trang</param>
/// <returns>string</returns>
public string GetWebContent(string Address)
{
    string txOutput = "";
    try
    {
        if (Address != "")
        {
            System.Net.WebClient MyClient = new System.Net.WebClient();
            System.IO.Stream MyStream = MyClient.OpenRead(Address);
            System.IO.StreamReader MyStreamReader = new System.IO.StreamReader(MyStream);
            string NewLine;
            while ((NewLine = MyStreamReader.ReadLine()) != null)
            {
                txOutput += NewLine + "\r\n";
            }
        }
    }
    catch { }
    return txOutput;
}

Kết quả hàm này trả về là chuỗi html như khi bạn chọn viewsource của trang bạn muốn đọc



__________________

YM: DUCVINH83
0912 822334


Lên trên Xem DUCVINH83's Thông tin cá nhân Tìm những bài viết khác của DUCVINH83 Ghé thăm DUCVINH83's Trang chủ
 

Nếu bạn muốn trả lời thì trước tiên bạn phải đăng nhập
Nếu chưa đăng ký thì bạn hãy đăng ký

  Trả lời bài viếtGửi bài viết mới
Xem trang in Xem trang in

Di chuyển nhanh
Bạn không thể tạo đề tài mới
Bạn không thể trả lời bài viết
Bạn không thể xoá bài viết bạn đã gưi
Bạn không thể sửa bài viết bạn đã gửi
Bạn không thể tạo bình chọn
Bạn không thể bình chọn



Trang này được tạo ra trong 0.2578 giây.
cheap jordans for salecheap jordans for salecheap jordans for salecheap jordans for salecheap jordans for salecheap jordans for salecheap jordans for salecheap jordans for salecheap jordans for salesac longchamp pas chergucci outlet

baomang.net  9ecva.com © 2007 - Phát triển bởi Trịnh Đức Vinh