Сохраните значение хэш-функции URL с помощью Запроса. UrlReferrer

Когда я должен сделать подкачку страниц, я обычно использую временную таблицу также. Можно использовать выходной параметр для возврата общего количества записей. Операторы выбора в выборе позволяют Вам сортировать данные по определенным столбцам, не будучи должен обратиться к динамическому SQL.

--Declaration--

--Variables
@StartIndex INT,
@PageSize INT,
@SortColumn VARCHAR(50),
@SortDirection CHAR(3),
@Results INT OUTPUT

--Statements--
SELECT @Results = COUNT(ID) FROM Customers
WHERE FirstName LIKE '%a%'

SET @StartIndex = @StartIndex - 1 --Either do this here or in code, but be consistent
CREATE TABLE #Page(ROW INT IDENTITY(1,1) NOT NULL, id INT, sorting_1 SQL_VARIANT, sorting_2 SQL_VARIANT)
INSERT INTO #Page(ID, sorting_1, sorting_2)
SELECT TOP (@StartIndex + @PageSize)
    ID,
    CASE
        WHEN @SortColumn='FirstName' AND @SortDirection='ASC' THEN CAST(FirstName AS SQL_VARIANT)
        WHEN @SortColumn='LastName' AND @SortDirection='ASC' THEN CAST(LastName AS SQL_VARIANT)
        ELSE NULL
    END AS sort_1,
    CASE
        WHEN @SortColumn='FirstName' AND @SortDirection='DES' THEN CAST(FirstName AS SQL_VARIANT)
        WHEN @SortColumn='LastName' AND @SortDirection='DES' THEN CAST(LastName AS SQL_VARIANT)
        ELSE NULL
    END AS sort_2
FROM (
    SELECT
        CustomerId AS ID,
        FirstName,
        LastName
    FROM Customers
    WHERE
        FirstName LIKE '%a%'
) C
ORDER BY sort_1 ASC, sort_2 DESC, ID ASC;

SELECT
    ID,
    Customers.FirstName,
    Customers.LastName
FROM #Page
INNER JOIN Customers ON
    ID = Customers.CustomerId
WHERE ROW > @StartIndex AND ROW <= (@StartIndex + @PageSize)
ORDER BY ROW ASC

DROP TABLE #Page
5
задан mickyjtwin 24 November 2009 в 23:55
поделиться

1 ответ

Браузер отвечает за установку заголовка HTTP_REFERER и отправку его на сервер. Были проведены исследования по другим вопросам о переполнении стека (например, этот ), и оказалось, что ни один из современных браузеров не отправляет хеш-значение.

Однако еще не все потеряно. Мой коллега столкнулся с аналогичной ситуацией и в конечном итоге настроил вызов AJAX на сервер для отслеживания значений хеш-функции как на сервере, так и на клиенте. Это немного взломано, но вы можете заставить его работать.

3
ответ дан 15 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: