东西我用下面的代码,以使该代码文件的页面的DIV的变化:变化格在
HtmlGenericControl divTest = Page.FindControl("test") as HtmlGenericControl;
divTeste.InnerText = "tested";
但现在,我要换另一个页面。例如:后面的default.aspx代码改变了test.aspx中div的内部文本...
上面的代码没有被占用。我想要永久的改变。什么代码应该是?
我该怎么办?
东西我用下面的代码,以使该代码文件的页面的DIV的变化:变化格在
HtmlGenericControl divTest = Page.FindControl("test") as HtmlGenericControl;
divTeste.InnerText = "tested";
但现在,我要换另一个页面。例如:后面的default.aspx代码改变了test.aspx中div的内部文本...
上面的代码没有被占用。我想要永久的改变。什么代码应该是?
我该怎么办?
您需要了解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>
我怎样才能使这种更改永久? –
已更新的答案使其更加永久 – MVCKarl