2012-12-03 61 views
-1
其他页面

东西我用下面的代码,以使该代码文件的页面的DIV的变化:变化格在

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

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

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

我该怎么办?

回答

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> 
+0

我怎样才能使这种更改永久? –

+0

已更新的答案使其更加永久 – MVCKarl