2012-12-03 62 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