2

ASP.NET で C# を使用して VS10 で作業しています。私のデザイン フォームには、textArea (標準の HTML コントロール) があります。

 <textarea id="Text1"  rows = "8"; cols="30" onkeyup="AutoGrowTextArea(this)"   name="S1"> </textarea>

コード ビハインド ページでは、C# を使用してコントロールをコーディングしています。プロジェクト全体で必要な自動拡張機能を textArea に与えました。この TextArea はサーバー コントロールとして必要です。たとえば、デザイン ページに textBox を配置する場合、コード ビハインド ページでそれを使用してコーディングできます。これはサーバー コントロールであるためです。ただし、textArea はサーバー コントロールではありません。サイトの以前の投稿を調べましたが、十分に役立つものは何もありませんでした. [<% %>] システムと [runat="server"] を使用してみましたが、役に立ちませんでした。私がやりたいことは、コード ビハインド ページで textArea を使用することです。つまり、TextBox コントロール オブジェクトを呼び出すことができるのと同じように、コーディング スペースで呼び出します。だから、誰でも私を助けてくれませんか、、、よろしく..テキストボックスを自動拡張するためのjavascriptは次のとおりです。

  <script type="text/javascript"> 

function AutoGrowTextArea(textField)

{

if (textField.clientHeight < textField.scrollHeight) 

{

 textField.style.height = textField.scrollHeight + "px";

 if (textField.clientHeight < textField.scrollHeight)

{

textField.style.height = (textField.scrollHeight * 2 - textField.clientHeight) + "px";

} 

}

} 

</script>      
4

4 に答える 4

1

これを試して

runat="server"タグに追加

<textarea id="Text1" runat="server"  rows = "8" cols="30" onkeyup="AutoGrowTextArea(this)" name="S1"> </textarea>
于 2012-07-05T18:13:00.077 に答える
1

コントロールのrunat="server"プロパティを設定して生の HTML コントロールを操作できます。

 <textarea id="Text1" runat="server"  rows = "8"; cols="30" onkeyup="AutoGrowTextArea(this)"   name="S1"> </textarea>
于 2012-07-05T18:14:06.957 に答える
0
<asp:TextBox id="thisIsMyTextBox" runat="server" multiline="true" width="200px" onkeyup="AutoGrowTextArea(this)" height="80px" style="resize:none;"></asp:TextBox>

幅・高さ自由自在!

関数 AutoGrowTextArea(テキストフィールド)

{

   if(textField.Lenght()%50==0)//50 is the number of character in your textbox

   {

            if (textField.clientHeight < textField.scrollHeight) 

            {

                    textField.style.height = textField.scrollHeight + "px";

                    if (textField.clientHeight < textField.scrollHeight)

                    {

                             textField.style.height = (textField.scrollHeight * 2 - textField.clientHeight) + "px";

                    } 

     }

}

于 2012-07-05T18:17:48.437 に答える
0

マークアップに runat="server" を追加すると、サーバー コントロールになります。

コード ビハインドでサーバー コントロールを作成することもできます。宣言 (Visual Basic の場合):

Protected WithEvents foo As Global.System.Web.UI.HtmlControls.HtmlGenericControl = Global.System.Web.UI.HtmlControls.HtmlGenericControl("textarea")

すべてのプロジェクトで何かを使用したい場合は、Control または HtmlGenericControl から継承されたクラスを宣言し、新しいコントロールのどこにでも実装する必要があるものを実装できます。

于 2012-07-05T18:53:33.070 に答える