我使用下面的代码对该代码文件的页面的 div 进行了更改:
HtmlGenericControl divTest = Page.FindControl("test") as HtmlGenericControl;
divTeste.InnerText = "tested";
但现在,我想换一页。例如:default.aspx 代码后面更改了 test.aspx 中的 div 内部文本...
上面的代码没有被挪用。我想要永久的改变。应该是什么代码?
我该怎么做?
您需要了解 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>