如何在ASP .NET C#中使文本框(MultiLine)的大小适应文本?

我有一个.aspx表单,在 Page_Load 事件中,我为数据库中的控件(文本框,DropdownList等)分配了多个值,但是我有一个文本框控件,可以在其中文本是很大还是很小,我想在这里知道是否可以使文本框大小动态化。

表单加载完Textbox控件后,将显示为:

如何在ASP .NET C#中使文本框(MultiLine)的大小适应文本?

但是我想像这样可视化(一切取决于文本):

如何在ASP .NET C#中使文本框(MultiLine)的大小适应文本?

文本框代码:

<asp:TextBox runat="server" ID="txt" TextMode="MultiLine" Height="80px" ReadOnly="true" CssClass="form-control"></asp:TextBox> 

我正在使用.NET Framework 4.5.2,我不确定是否应该使用jQuery中的任何功能,如果可以,怎么办?

guolihongnanjing 回答:如何在ASP .NET C#中使文本框(MultiLine)的大小适应文本?

您可以很容易地在页面加载时使用Javascript或Jquery做到这一点。

jQuery:

<Second>
    name: "screen2"

    FloatLayout:
        ScrollView:
            do_scroll_y: True
            do_scroll_x: True

            GridLayout:
                spacing:20
                padding: 20
                size_hint: 1,None
                # height: 500
                height: self.minimum_height
                cols:1
                on_kv_post:
                    for i in range(root.no_widgets): root.dynamic_labels.append(Label(size_hint = (0.1,None),height = 30))

                    for wid in range (root.no_widgets): self.add_widget(root.dynamic_labels[wid])

                    root.set_data()

Javascript:

$(function(){//executes when dom is ready

    var textAreaAdjust = function(control) {//function to set the height
        $(control).height(1);
        $(control).height($(control).prop('scrollHeight'));
    }

    textAreaAdjust($('#txt'));// call the function passing the textarea control in
});

对此answer

的信用 ,

您可以使用文字控件

<asp:Literal ID="Literal1" runat="server"></asp:Literal> 

或添加了runat="server"的html div。

<div id="specialDiv" runat="server"></div>

c#

specialDiv.InnerText = "asdfasdf...etc";

请注意,如果您使用CssClass="form-control",则可能必须通过将height设置为auto而不是预设/硬编码高度来更新css。

本文链接:https://www.f2er.com/3150735.html

大家都在问