1

私はDIV要素を持っています:

<div runat="server" id="path">Nothing here... yet</div>

コンテンツを動的に変更する JavaScript。いくつかのアクションの後、私の要素は次のようになります (Firebug でテスト済み、JS は問題ありません)。

<div runat="server" id="path">FirstTest - SecondTest - ThirdTest</div>

<asp:Button runat="server"...次に、テキスト ファイル ( )に保存します。

<script runat="server">

void Page_Load(Object sender, EventArgs e)
{
    Button1.Click += new EventHandler(this.GreetingBtn_Click);
}

void GreetingBtn_Click(Object sender, EventArgs e)
{
    HtmlGenericControl path = (HtmlGenericControl)Page.FindControl("path");

    Response.AddHeader("content-disposition", "attachment;filename=download.txt");
    Response.ContentType = "text/plain";
    Response.Write(path.InnerText);
    Response.Flush();
    Response.Clear();       
    Response.End();
}

</script>

それも問題なく動作します (SaveDialog ポップアップ、ユーザーが場所を選択) が、... 出力ファイルには "Nothing here... yet" という 1 行しかありません。JavaScript による変更に反応しないようです。

DIV常に最新のコンテンツを保存できるように、彼に強制的に更新させるにはどうすればよいですか?

助けてくれてありがとう!

4

1 に答える 1

0

を新しい値で更新asp:Hiddenし、ポストバックで代わりにその値を使用できます。コントロールはPlaceHolder双方向コントロールとして設計されていません。

例えば

function UpdateText()
{
    var text = ...;    

    document.getElementById("<%= path.ClientID %>").innerText = text;
    document.getElementById("<%= pathHidden.ClientID %>").value = text;
}
于 2011-05-04T19:19:18.140 に答える