-1

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

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

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

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

我该怎么做?

4

1 回答 1

1

您需要了解 ASP.NET 的工作原理。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>
于 2012-12-03T02:57:57.193 回答