Как получить доступ к объекту запроса в функции Page_Load в Kentico 9?
Мне нужно проверить наличие тега привязки в URL, изнутри преобразования. Я предполагаю, что это будет в Page_Load
функции, но я не могу найти хорошую документацию по этому вопросу.
Как я могу это сделать? Спасибо!
2 ответа
Якоря не передаются на сервер и, следовательно, Uri.Fragment
нет в Request
объект. Вы можете использовать это свойство только для создания URI.
Если вам нужно передать данные на сервер, используйте параметры запроса или скрытые поля.
Если вам нужно оценить URI, хранящиеся в БД, используйте подход Брендена.
В вашем преобразовании вы можете создать простую функцию, используя подобный код ниже:
<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") %>
Вы также можете создать собственный метод преобразования, который будет делать то же самое.