Thứ ba, ngày 21 tháng 11 năm 2017

Sử dụng CollectionPager khi rewrite url và một số lỗi phát sinh khi đưa web lên server

Ngày đăng: 7/3/2011, 20:17:1PM | Lượt xem: 7,112
Hot!

Nếu trong Project của bạn có sử dụng thư viện CollectionPager.dll để phân trang và cũng sử dụng rewrite url, nếu để mặc định, khi bạn nhấn vào số trang sẽ bị lỗi.

Trong trường hợp này bạn khắc phục bằng cách set thuộc tính của CollectionPager PagingMode="PostBack", và trong trang Codebehind khi gọi hàm dùng để phân trang dữ liệu phải đưa ra ngoài khối if(!Page.IsPostBack) – nếu trang đó có sử dụng.

Một số lỗi phát sinh khi upload web lên server:

-          Lỗi 404 không tìm thấy trang đó trên server, có thể do IIS server của nhà cung cấp hosting chưa cấu hình để bạn có thể rewrite url. Bạn nên liên lạc với bộ phận kỹ thuật của nhà cung cấp yêu cầu cấu hình cho bạn.

-          Một lỗi nữa, là bạn rename phần mở rộng của file thành .html nên IIS sẽ hiểu website của bạn là web tĩnh và có thể sinh lỗi. Cách khắc phục bạn có thể chỉ rewrite url và vẫn giữ nguyên phần mở rộng là .aspx, hoặc cũng phải liên lạc với hỗ trợ kỹ thuật của bên cung cấp hosting giúp bạn cấu hình IIS để chạy .html.

Kết luận:

Trên đây là một số bài viết liên quan đến rewrite url trong asp.net và một số lỗi thường gặp, tôi hy vọng qua bài viết này các bạn sẽ có một cái nhìn tổng thể hơn về vấn đề rewrite url.

 

Bài Cuối

DOWNLOAD DEMO

Tôi nghĩ vấn đề chính của bạn là ở chỗ, bạn không biết phải lấy tên của nhóm sản phẩm (không dấu) ở đâu, đúng là lấy từ trong cơ sở dữ liệu ra thật, nhưng bạn phải format nó về dạng không dấu để làm liên kết. Và bạn đã không biết cấu trúc gọi hàm ConvertToUnSign ở đâu trong ItemTemplate của DataList, ví dụ nho nhỏ sau đây sẽ giải đáp phần nào thắc mắc của bạn.

Cách gọi hàm ConvertToUnSign trong DataList

<asp:DataList ID="dtlCategories" runat="server">

            <ItemTemplate>

                <a href='<%#Eval("CategoryID")%>/

<%#Utils.ConvertToUnSign(DataBinder.Eval(Container.DataItem, "CategoryName").ToString())%>.html'>

                    <%#Eval("CategoryName") %>

                </a>

            </ItemTemplate>

        </asp:DataList>

Ở ví dụ này tôi sẽ sử dụng database Northwind có sẵn khi cài đặt SQL Server, thao tác với 2 bảng Categories và Products.

Chú ý: Trong các bài hướng dẫn trước đây tôi có nhầm một số lỗi (ở những chỗ tô màu vàng).

Sai: ruleProduct.DestinationUrl = "~/Products.aspx?catid=$1&amp;id=$2";

Đúng: ruleProduct.DestinationUrl = "~/Products.aspx?catid=$1&id=$2";

Sai: ruleCategory.DestinationUrl = "~/Categories.aspx?catid=$";

Đúng: ruleCategory.DestinationUrl = "~/Categories.aspx?catid=$1";

Đoàn Thành Nhân – http://lichsu.vn

 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
ca do bong da online
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.