Asp.net 获取任意页面的虚拟路径
考虑以下情况: 您希望将用户重定向(重定向)到某个处理程序(aspx或ashx),而不使用硬编码路径。 您有处理程序类的名称,甚至可以获取它的类型(ASP.whateverpageclass)。Asp.net 获取任意页面的虚拟路径,asp.net,Asp.net,考虑以下情况: 您希望将用户重定向(重定向)到某个处理程序(aspx或ashx),而不使用硬编码路径。 您有处理程序类的名称,甚至可以获取它的类型(ASP.whateverpageclass)。 现在,如何获得虚拟路径?如果我理解正确,如果您具有实现类的名称/类型,那么您需要处理程序的虚拟路径。好吧,这是不可能的,因为两者之间不需要一对一的关联——从ASP.NET运行时的角度来看,它必须将虚拟路径映射到某个处理程序类(而不是相反)。例如,可以使用相同的处理程序类型映射到特定扩展的所有路径 就避免
现在,如何获得虚拟路径?如果我理解正确,如果您具有实现类的名称/类型,那么您需要处理程序的虚拟路径。好吧,这是不可能的,因为两者之间不需要一对一的关联——从ASP.NET运行时的角度来看,它必须将虚拟路径映射到某个处理程序类(而不是相反)。例如,可以使用相同的处理程序类型映射到特定扩展的所有路径
就避免硬编码的主要问题而言,您可以使用可配置的url(重定向)或持久存储(数据库、xml文件或配置文件),将一些键(例如,处理程序类名)映射到虚拟路径以重定向。如果我理解正确,如果您具有实现类的名称/类型,则需要处理程序的虚拟路径。好吧,这是不可能的,因为两者之间不需要一对一的关联——从ASP.NET运行时的角度来看,它必须将虚拟路径映射到某个处理程序类(而不是相反)。例如,可以使用相同的处理程序类型映射到特定扩展的所有路径
就避免硬编码的主要问题而言,您可以使用可配置的url(重定向)或持久存储(数据库、xml文件或配置文件),将一些键(例如,处理程序类名)映射到虚拟路径以重定向。看起来您不会错,但映射路径只是一个难题。我想用各自的虚拟位置定义静态属性现在就可以了。谢谢。看起来你不会错,但映射路径只是一个难题。我想用各自的虚拟位置定义静态属性现在就可以了。非常感谢。