在其他页面中更改div

时间:2012-12-03 02:34:53

标签: c# asp.net html

我使用下面的代码对此代码文件页面的div进行了更改:

HtmlGenericControl divTest = Page.FindControl("test") as HtmlGenericControl;   
divTeste.InnerText = "tested";

但是现在,我想换另一页。例如:default.aspx代码后面改变了test.aspx中的div内部文本......

上面的代码没有被占用。我想要永久性的改变。应该是什么代码?

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您需要了解ASP.NET的工作原理。 Introduction to ASP.NET

如果你在Default.aspx上然后不会移动到Test.aspx,你可以使用Test.aspx中的Default.aspx中的值,但是你不能只从你所在的页面改变不同的页面。 (实际上,可以通过将数据写入数据库,然后在您想要更改的页面上访问该数据,但对于您的示例,我不相信您正在寻找类似的内容)

我能想到的最接近你的例子的是使用查询字符串。

Default.aspx标记

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

Default.aspx代码

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("Test.aspx?DivMSG=Hello");
}

Test.aspx标记

<div id="MyTestDiv" runat="server">

</div>

Test.aspx代码背后

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        MyTestDiv.InnerText = Request.QueryString["DivMSG"];
    }
}

<强>更新

使其永久化的一种方法是将其写入数据库。一个快速示例,但您需要执行数据库代码

Default.aspx标记

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

Default.aspx代码

protected void Button1_Click(object sender, EventArgs e)
{
    string messageToWriteToTestDiv = TextBox1.Text;

    // Code: to write messageToWriteToTestDiv to the database
}

Test.aspx代码背后

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string myMessage = "";

        // Code: string myMessage = Get Message from Database to write to div

        MyTestDiv.InnerText = myMessage;
    }
}

Test.aspx标记

<div id="MyTestDiv" runat="server">

</div>