PDA

View Full Version : Hỏi về urlrewriter khi sử dụng code 1 trang(user control) trong asp.net



tuanhaikh
12-07-2010, 13:49
Các bạn cho mình hỏi tí về phần urlrewriter . Mình đang viết một trang web bằng ngôn ngữ asp.net (VB). Mình đang nghiên cứu đến phần truyền biến khi sử dụng urlrewriter code 1 trang index thì bị vướn.

Mình sử dụng usercontrol . :

VD:
mình có trang chỉ là trang domain/index.aspx - khi click qua trang giới thiệu sẽ là domain/Index.aspx?P=0 - trang tin tức domain/Index.aspx?P=1.

Khi sử dụng urlrewriter thì địa chỉ này sẽ chuyển thành domain/index/0/gioithieu.htm - domain/index/1/tintuc.htm.

Nhưng vấn đề là do có code của mình là code 1 trang (sử dụng usercontrol ) nên khi clcik qua trang gioi thiệu thì địa chỉ sẽ là : domain/index/0/gioithieu.htm nhưng clcik qua trang tin tức đúng ra phải là domain/index/1/tintuc.htm mà lại là domain/index/0/index/1/tintuc.htm nên web báo lỗi.
Tương tự như thế khi mình tiếp tục clcik trở lại trang giới thiệu thì địa chỉ nó lại cộng dồn lên tiếp domain/index/0/index/1/index/0/gioithieu.htm. tức là nó không làm mới lại đường dẫn được mà cứ cộng dồn vào.

Code webconfig mình viết chổ cấu hình như sau:


<rewriter>

<rewrite url="~/Index/(.*)/(.*)/(.*).html" to="~/Index.aspx?P=$1&amp;Ma1=$2&amp;Ma2=$3" processing="stop" />
<rewrite url="~/Index/(.*)/(.*).html" to="~/Index.aspx?P=$1&amp;Ma1=$2" processing="stop" />
<rewrite url="~/Index/(.*).html" to="~/Index.aspx?P=$1" processing="stop" />
</rewriter>
trang index mình viết như sau:


<div>

<ul>
<li><a href="Index/0/gioi-thieu.html">gioi thieu</a></li>
<li><a href="Index/1/tintuc.html">san pham </a></li>
</ul>


</div>
trong index.aspx.vb

Function GetCategoryParam() As String

If (Request.PathInfo.Length = 0) Then
Return ""
Else
Return Request.PathInfo.Substring(1)
End If

End Function

Nhờ các bạn xem hộ mình nhé

[=========> Bổ sung bài viết <=========]

không ai biết cái này sao ta