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弹出窗口,用户选择位置),但是......在输出文件中只有一行“这里没有......但是”。看起来他对 JavaScript 所做的更改没有反应!

我怎样才能强迫他刷新DIV,这样我就可以随时保存最新的内容?

谢谢你的帮助!

4

1 回答 1

0

您可以使用新值更新 anasp:Hidden并在回发时使用该值。该PlaceHolder控件并非设计为双向控件。

例如

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

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