如何在 Kentico 9 中访问 Page_Load 函数中的请求对象?

How to access the request object in Page_Load function in Kentico 9?

我需要从转换中检查 url 中是否存在锚标记。我假设那将在 Page_Load 函数中,但我似乎找不到任何关于此的好文档。

我该怎么做? 谢谢!

在您的转换中,您可以使用下面的一些类似代码创建一个简单的函数:

<script runat="server">
    public bool UrlHasAnchor()
    {
        string myUrl = ValidationHelper.GetString(Eval("YourUrlColumn"), "");
        if(myUrl.Contains("#"))
        {
            return true;
        }
        return false;
    }
<script>

现在当你像这样设置你的值时调用它:

<%# If(UrlHasAnchor(), "do something crazy", "don't do anything at all") %>

您也可以 create a custom transformation method 做同样的事情。

锚不会传递到服务器,因此 Uri.Fragment 不存在于 Request 对象中。您只能使用 属性 来构造 URI。

如果您需要向服务器传递数据,请使用查询参数或隐藏字段。

如果您需要评估存储在数据库中的 URI,请使用 Brenden 的方法。