none
Координаты контролов в ASP.NET RRS feed

Ответы

  • Тут пока, что только чистый JavaScript, без jQuery. Если хотите более лушее решение используйте

    <input id="inputId" type="hidden" value="" />

    скрытые поля вместо cookie, так как клиент просто напросто может отключить их. Понятие координат на клиенте и сервере разное. Тут у Вас используется смещение относительно окна браузера, а в .aspx разметке элемент можетт находиться на n-ном уровне, и что-такое offsetTop он и знать не знает. Поэтому я и предложил координатами манипулировать на клиенте.


    10 июля 2012 г. 7:42
    Модератор
  • Вот нашли решение, подозрительно простое

    Javascript:

    document.cookie="coord="+document.getElementById("TextBox1").offsetTop+";";
    

    Сдесь используется Jquery.

    C#:

    HttpContext.Current.Request.Cookies["coord"].Value;

    10 июля 2012 г. 7:32

Все ответы

  • Никак. Но это не значит, что не возможно, просто это не простая задача. На ASP.NET используются обыные контролы Html, определить координаты которых в сервеном коде невозможно, разве только рендерить страницу, читать их на клиенте используя JavaScript, потом отправлять их на сервер и читать их в C# коде, но это уже шаманство. Если использовать родные контролы ASP.NET (которые рендерят тот же Html), то можно читать и манипулировать их свойствами, ведь это обычные классы. Но опять, тут используется столько уровней вложенности, что довести это дело до конца, мягко говоря "сложно". Вообще, такие вещи делаются на клиенте, при помощи JavaScript, страница грузится а потом клиентский сценарий делает своё дело. А с чем связана такая задача, может стоит пересмотреть её решение?
    10 июля 2012 г. 7:17
    Модератор
  • Вот нашли решение, подозрительно простое

    Javascript:

    document.cookie="coord="+document.getElementById("TextBox1").offsetTop+";";
    

    Сдесь используется Jquery.

    C#:

    HttpContext.Current.Request.Cookies["coord"].Value;

    10 июля 2012 г. 7:32
  • Тут пока, что только чистый JavaScript, без jQuery. Если хотите более лушее решение используйте

    <input id="inputId" type="hidden" value="" />

    скрытые поля вместо cookie, так как клиент просто напросто может отключить их. Понятие координат на клиенте и сервере разное. Тут у Вас используется смещение относительно окна браузера, а в .aspx разметке элемент можетт находиться на n-ном уровне, и что-такое offsetTop он и знать не знает. Поэтому я и предложил координатами манипулировать на клиенте.


    10 июля 2012 г. 7:42
    Модератор
  • А как часто у клиента могут быть отключены cookies? Возможно этим можно пренебречь?
    10 июля 2012 г. 7:54
  • Обычно, не часто. Если это не критично, то используйте. Но скрытые поля для этого случая подходят лучше.
    10 июля 2012 г. 7:56
    Модератор
  • Не забывайте отмечать ответы если проблема решена. Спасибо.

    Для связи [mail]

    10 июля 2012 г. 12:02
    Модератор