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&Ma1=$2&Ma2=$3" processing="stop" />
<rewrite url="~/Index/(.*)/(.*).html" to="~/Index.aspx?P=$1&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
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&Ma1=$2&Ma2=$3" processing="stop" />
<rewrite url="~/Index/(.*)/(.*).html" to="~/Index.aspx?P=$1&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