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