1

1 つのマスター ページと 1 つのコンテンツ ページがあります。私のマスターページには、テキストボックスが1つ、ボタンが1つ、コンテンツプレースホルダーが1つあります。目的は、マスターページにあるテキストボックスにユーザーが入力したテキストを使用して、コンテンツページのテキストを変更することです(テキスト/コンテンツページのコンテンツだけをフィールドに割り当てません)。ここに問題があります

テキストボックスのテキストを変更してボタンをクリックしても、前のテキストが更新され、コンテンツページに変更はありません...マスターページのコードは次のとおりです

public partial class example : System.Web.UI.MasterPage
{
    FileInfo fil = new FileInfo("c:/documents and settings/administrator/my documents/visual studio 2010/Projects/WebApplication1/WebApplication1/contentpage.aspx");
    protected void Page_Load(object sender, EventArgs e)
    {
        contenttext.Text = File.ReadAllText(fil.ToString());
    }

    protected void clicked_Click(object sender, EventArgs e)
    {
        File.WriteAllText(fil.ToString(),this.contenttext.Text);
        Response.Redirect("contentpage.aspx");
    }
}
4

2 に答える 2

1
// Gets a reference to a TextBox control that not in 
// a ContentPlaceHolder
Textbox txt = (Textbox) Master.FindControl("masterPageLabel");
if(txt != null)
{
    Textbox1.Text = Textbox2.Text;
}

これを試して、コードビハインドのボタンをクリックしてください

于 2012-09-26T11:06:22.867 に答える
0

//.aspx ページ

これは .cs ページで保護されています void Page_Load(object sender, EventArgs e) { for (int i = 1; i <= 5; i++) { TextBox tb = new TextBox(); tb.ID = "テキストボックス" + i.ToString(); tb.Attributes.Add("runat", "サーバー"); MyPanel.Controls.Add(tb); } }

    protected void btnReadTextBoxValue_Click(object sender, EventArgs e)
    {
        for (int i = 1; i <=5; i++)
        {
//Append the master page content place holder id with textbox then it find value and      work
            string str ="ctl00$ContentPlaceHolder3$"+"textbox" + i.ToString();
            TextBox retrievedTextBox = FindControl(str) as TextBox;
        if (retrievedTextBox != null)
        {
            lblResult.Text = ((TextBox)retrievedTextBox).Text;
            break;
        }
        else
        {
            lblResult.Text = "No text box has been created!";
        }

        }
于 2014-04-05T19:26:33.767 に答える