可调整大小的文本框/区域

时间:2011-08-23 21:02:27

标签: asp.net controls textarea

我需要一个文本框或文本区域,如果需要,我可以调整大小以扩展可视区域。 Currenltly我的html放在一张桌子上:

<table>
  <tr>
    <td>
      <Grid>
    </td>
    <td>
      <TextArea>
    </td>
  </tr>
</table>

此网格和textarea之间应该有一条线,所以如果我展开一个,另一个缩小,反之亦然。我尝试了一些jQuery,但我认为会有一个简单的asp.net控件可以实现这一点。任何人都知道我可以用于这个看似简单的任务吗?

由于

3 个答案:

答案 0 :(得分:1)

jQuery UI Resizable怎么样?

看看这个:http://jqueryui.com/resizable/#textarea

这是整个页面。您可以查看一些可调整大小的选项。

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Resizable - Textarea</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <style>
  .ui-resizable-se {
    bottom: 17px;
  }
  </style>
  <script>
  $(function() {
    $( "#resizable" ).resizable({
      handles: "se"
    });
  });
  </script>
</head>
<body>

<textarea id="resizable" rows="5" cols="20"></textarea>


</body>
</html>

答案 1 :(得分:1)

AjaxControlToolkit有一个ResizableControl扩展器 - 参见http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ResizableControl/ResizableControl.aspx

要使用它,您需要下载AjaxControlToolkit并在项目中添加对它的引用。您还需要注册它为您提供的控件,如果您想在ASPX页面顶部使用<% Register指令,可以在单个页面中执行此操作,但这些天我发现最简单的方法是注册它在web.config中。将此块添加到<system.web>部分下的web.config中:

<pages>
    <controls>
        <add tagPrefix="ajaxtoolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" /> 
    </controls>
</pages>

然后在您的页面中,您可以将扩展程序附加到网格中,如下所示:

<asp:gridview id="MyGridView" ... >
</asp:gridview>
<ajaxtoolkit:ResizableControlExtender TargetControlId="MyGrid" />
<hr/>
<asp:textbox id="MyTextArea" ... />

根据您的问题,我认为您只想垂直调整大小,因此您需要将MinimumWidth和MaximumWidth属性设置为相同的值。当你增加另一个的大小时,狡猾会减少一个的大小,虽然扩展器为你提供了一些事件,你可以将一些JavaScript挂钩到可能能够做到这一点。

答案 2 :(得分:0)

我是使用Telerik.RadSplitter

完成的