URLRewriting的问题
本来以为URLRewriting的一般应用实现起来应该比较简单,但今天遇到了一个其中的一些限制,贴出来给大家共享:
假设用户可以看得虚页面时A.aspx,实际转向的物理页面是B.aspx
分一下几种情况:
1.从A过来的请求不带任何QueryString和post参数,则可以成功的转向B
2.如果A过来的请求带post参数,也可以成功的转向B,B也可以成功接受post参数
3.如果A过来的参数带QueryString参数,可以成功转向B,但B不能接收到A的QueryStriing参数
好了,现在如果你的A页面传递给B,怎么办呢?
方式是在Rewrite的时候,通过HttpContext.Current.Request.QueryString取到这些参数,然后把这些参数副到B上即可。
可是现在问题出来了,如果A页面没有传递QueryString参数,而你却不知道,仍旧用上面的方法来处理,在转向的时候就会出现FileNotFoundException.告诉你找不到A页面。
我们在进行URLRewriting的时候,并不一定知道那些请求是否会带参数,在进行统一处理的时候,该怎么办呢?
还好,我的这个项目,我是知道那些url带参数,那些不带
假设用户可以看得虚页面时A.aspx,实际转向的物理页面是B.aspx
分一下几种情况:
1.从A过来的请求不带任何QueryString和post参数,则可以成功的转向B
2.如果A过来的请求带post参数,也可以成功的转向B,B也可以成功接受post参数
3.如果A过来的参数带QueryString参数,可以成功转向B,但B不能接收到A的QueryStriing参数
好了,现在如果你的A页面传递给B,怎么办呢?
方式是在Rewrite的时候,通过HttpContext.Current.Request.QueryString取到这些参数,然后把这些参数副到B上即可。
可是现在问题出来了,如果A页面没有传递QueryString参数,而你却不知道,仍旧用上面的方法来处理,在转向的时候就会出现FileNotFoundException.告诉你找不到A页面。
我们在进行URLRewriting的时候,并不一定知道那些请求是否会带参数,在进行统一处理的时候,该怎么办呢?
还好,我的这个项目,我是知道那些url带参数,那些不带