none
Реализация функционала RRS feed

Ответы

  • Тогда так может:

    <asp:Panel ID="PanelText" runat="server" CssClass="frameText">
                This text resizes itself to be as large as possible within its container.
        </asp:Panel>
        <asp:HiddenField runat="server" ID="PanelSize" ClientIDMode="Static" Value="" />
        <script type="text/javascript">
          $("#PanelText").resizable({
            stop: function (event, ui) {
              $("#PanelSize").attr("value", ui.size.height + ":" + ui.size.width);
              $("form").submit();
            }
          });
        </script>

    namespace ChangeContainerSize
    {
      public partial class Default : System.Web.UI.Page
      {
        protected void Page_Load(object sender, EventArgs e)
        {
          if (!String.IsNullOrEmpty(PanelSize.Value))
          {
            string width = PanelSize.Value.Split(':')[0];
            string height = PanelSize.Value.Split(':')[1];
          }
        }
      }
    }

    • Помечено в качестве ответа Andrey_ua 3 октября 2012 г. 18:45
    3 октября 2012 г. 18:36
    Модератор
  • Да в этом случае высшеуказанный функционал можно заменить более лучшим.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="WebApplicationDrag.Test" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <style type="text/css">
        .frameText
        {
          background-color: #FFFFFF;
          border-color: Gray;
          border-style: solid;
          border-width: 2px;
          float: left;
          font-family: Helvetica;
          height: 100px;
          line-height: normal;
          overflow: hidden;
          width: 100px;
        }
        </style>
        <script src="Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="Scripts/jquery-ui-1.8.23.min.js" type="text/javascript"></script>
        <link href="Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:Panel ID="PanelText" runat="server" CssClass="frameText">
                This text resizes itself to be as large as possible within its container.
        </asp:Panel>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
        </form>
        <script type="text/javascript">
          $("#PanelText").resizable({
            stop: function (event, ui) {
              //__doPostback();
              $("form").submit();
            }
          });
        </script>
    </body>
    </html>

    3 октября 2012 г. 14:08
    Модератор

Все ответы

  • Посмотрите ни это ли Вам нужно.
    3 октября 2012 г. 9:53
    Модератор
  • А есть ли возможность при окончании resize запускать код с code behind?

    Нам этот функционал нужен для выставления ширины diva и с новым размером нужно запустить пару функций на c#.

    3 октября 2012 г. 10:03
  • Можно повесить JavaScript функцию на событие OnClientResize, и делать постбэк на сервер или get/post запрос Ajax - ом. Какой из двух вариантов Вам подойдёт.
    3 октября 2012 г. 11:15
    Модератор
  • А как сделать postback с javascript чтоб запустить функцию?
    3 октября 2012 г. 11:17
  • Нужно вызвать функцию __doPostBack из вашего скрипта. При постбэке, страница отправляется обратно на сервер, этот вариант Вас устроит?  Для этого то я и предложил второй вариант, чтобы не отправлять страницу назад.
    3 октября 2012 г. 11:22
    Модератор
  • postback полностью подходит так как у нас все на сайте зависит от postback-ов, Но как можно при помощи javascript запустить функцию?
    3 октября 2012 г. 11:26
  • Да в этом случае высшеуказанный функционал можно заменить более лучшим.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="WebApplicationDrag.Test" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <style type="text/css">
        .frameText
        {
          background-color: #FFFFFF;
          border-color: Gray;
          border-style: solid;
          border-width: 2px;
          float: left;
          font-family: Helvetica;
          height: 100px;
          line-height: normal;
          overflow: hidden;
          width: 100px;
        }
        </style>
        <script src="Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="Scripts/jquery-ui-1.8.23.min.js" type="text/javascript"></script>
        <link href="Content/themes/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:Panel ID="PanelText" runat="server" CssClass="frameText">
                This text resizes itself to be as large as possible within its container.
        </asp:Panel>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
        </form>
        <script type="text/javascript">
          $("#PanelText").resizable({
            stop: function (event, ui) {
              //__doPostback();
              $("form").submit();
            }
          });
        </script>
    </body>
    </html>

    3 октября 2012 г. 14:08
    Модератор
  • Я не совсем понял что этот код делает.

    Нам не надо вмещать текст в наш контейнер а просто выставить размер.

    Этот размер мы отправить должны в code behind.

    Как нам такое реализовать?


    • Изменено Andrey_ua 3 октября 2012 г. 17:04
    3 октября 2012 г. 16:59
  • Так это код именно это и делает, а текст я просто как пример показал.
    3 октября 2012 г. 17:41
    Модератор
  • А как мне на самой странице менять размер контейнера? Ваш код не показывает на странице такую возможность.
    3 октября 2012 г. 17:44
  • Вам нужно читать или задавать самому?
    3 октября 2012 г. 17:51
    Модератор
  • Нужно чтоб пользователь выставил размер при помощи разширения контейнера и потом должен произойти postback.
    3 октября 2012 г. 17:54
  • Тогда так может:

    <asp:Panel ID="PanelText" runat="server" CssClass="frameText">
                This text resizes itself to be as large as possible within its container.
        </asp:Panel>
        <asp:HiddenField runat="server" ID="PanelSize" ClientIDMode="Static" Value="" />
        <script type="text/javascript">
          $("#PanelText").resizable({
            stop: function (event, ui) {
              $("#PanelSize").attr("value", ui.size.height + ":" + ui.size.width);
              $("form").submit();
            }
          });
        </script>

    namespace ChangeContainerSize
    {
      public partial class Default : System.Web.UI.Page
      {
        protected void Page_Load(object sender, EventArgs e)
        {
          if (!String.IsNullOrEmpty(PanelSize.Value))
          {
            string width = PanelSize.Value.Split(':')[0];
            string height = PanelSize.Value.Split(':')[1];
          }
        }
      }
    }

    • Помечено в качестве ответа Andrey_ua 3 октября 2012 г. 18:45
    3 октября 2012 г. 18:36
    Модератор
  • Да, это оно.

    Большое спасибо !

    3 октября 2012 г. 18:45