0

ユーザーがテキスト領域内の情報の内容を変更できるようにする必要があるasp.netで何かに取り組んでいます。外部の .txt、.html、または .rtf ファイル内の情報を取得してテキスト領域のコンテンツを設定し、innerHtml を使用してそれをテキスト領域に設定するとどうなりますか。

データの取得に関しては、ページの背後にある .cs ファイルでそれを行うために innerHtml も使用しています。問題は、これをしようとすると、テキストのすべての行を置き換えたとしても、以前に設定されたものが戻ってくることです。たとえば、最初に「これは最初のテキストです」を最初に設定し、その後すべてを「新しいテキスト」に置き換えた場合、innerHtml は「これは最初のテキストです」と返します。

新しいテキストを取得する別の方法や、innerHtml を取得する方法はありますか?

編集:コードを含めるのを忘れました。

コードの aspx 側には、単純なテキスト領域があります。
<textarea id="TextArea1" cols="80" rows="10" runat="server"></textarea>

aspx.cs側では、

    protected void Page_Load(object sender, EventArgs e)
    {
        ces = new ContentEditorService.ContentEditorService();
        strRtfDir = Server.MapPath("Testfile.rtf");

        string strContents = ces.loadEditorContents(strRtfDir);
        TextArea1.InnerText = strContents;
    }

ces は、テキストの読み込みと保存を行う別の .cs ファイルを読み込みます。

コンテンツの取得に関しては、使用しています

    protected void Button1_Click(object sender, EventArgs e)
    {
        string strTxtArea = TextArea1.InnerHtml;

        System.Diagnostics.Debug.WriteLine(strTxtArea);   
        //ces.saveEditorContents(strContents, strRtfDir);
    }

変更されたテキストを取得できたかどうかを確認するために、内容を取得して Visual Studio のデバッグ ウィンドウに出力します。

4

2 に答える 2

0

jqueryを使用して、テキスト領域内の値を取得できます

var text = $('#yourTextAreaId').html();

また

var text = $('#yourTextAreaId').val();
于 2012-06-13T01:48:54.633 に答える
0

コードを次のように変更します。

    if (!IsPostBack)
    {
        ces = new ContentEditorService.ContentEditorService();
        strRtfDir = Server.MapPath("Testfile.rtf");

        string strContents = ces.loadEditorContents(strRtfDir);
        TextArea1.InnerText = strContents;
    }

Button1 をクリックしても Page_Load は常に実行されるためです。

于 2012-06-13T09:53:10.970 に答える