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

时间:2017-01-05 13:25:22

标签: kentico

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

我该怎么办呢? 谢谢!

2 个答案:

答案 0 :(得分:1)

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

<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做同样的事情。

答案 1 :(得分:1)

主持人不会被传递到服务器,因此Request对象中不存在Uri.Fragment。您只能使用该属性构造URI。

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

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