2011-08-12 1 views
0

ユーザーコントロールのonloadイベントから親ページのonloadイベントに値を渡す必要があります。私はstackoverflowの上でこのコードを発見したが、私はそれを動作/それを適応させるように見えることはできません。ユーザーコントロールから単一の値をCシャープのContaining Pageのコードに渡す

Public Property SomeValue() As String 
Get 
    Return textbox1.Text 
End Get 
End Property 

私は渡す必要がある値は、データベースから単一のintです。

conn.Open(); 
reader = comm.ExecuteReader(); 
if (reader.Read()) 
{ 
    shoppingCartHeadID = Convert.ToInt32(reader["shoppingCartHeadID"]); 
    hfShoppingCartHeadID.Value = shoppingCartHeadID.ToString(); 
} 
reader.Close(); 

答えて

0

最後に、カートを呼び出して制御するための別のパブリッククラスを作成することを選択しました。これははるかに効率的でクリーンなコードであることが判明しました!

ありがとうございます。

0

このコード:

Public Property SomeValue() As String 
Get 
Return textbox1.Text 
End Get 
End Property 

は、C#で次のようになります。

public String SomeValue { 
get{ return textbox1.text} 
} 

私が何を親ユーザーコントロール、子ユーザーコントロールは、プロパティを設定する必要があることを経由して考えます読むべきです。

//child 
public string DatatoShare{get;set;} 
protected override Onload() 
{ 
DatatoShare = "Whatever you want" 
base.Onload() 
} 

//parent 
private ChildUserControl child; 
public string NeedChildsData() 
{ 
return child.DatatoShare 
} 
+0

申し訳ありませんが、私はこれを使用して行ったが、動作しませんでした – ComfortablyNumb

0

そのない細かいやり方が、あなたは本当に今、あなたはそこに何をしているかならば、あなたはプロパティでそれを試すことができ、このような

mayby何か:

//child uc class 
... 
public string MyValue { get; private set; } 

//... loaded (...) 
{ 
    ... 
    this.MyValue = "Value"; 
} 

// Parent uc class 
//... loaded (...) 
{ 
    ... 
    string childValue = this.ucChildControl.MyValue; 
} 
+0

問題は本当に私がやっているのか分かりません!私はちょうど学ぶようになった。ネットC#。私はどこから来たのかわかりますが、実際にはうまく動作しません。 UCコードは問題ありません。それは文字列を取得していますchildValue = this.ucChildControl.MyValue;親ページでうまく再生できます。私のUCクラス名はカートと呼ばれますが、カートの定義がないというエラーが表示されます。 – ComfortablyNumb

+0

カートがパブリックとして宣言されていることを確認し、ページからアクセスできるようにします。 –

+0

カートは次のように宣言されています> public partial class cart:System.Web.UI.UserControl。私は部分的に取り出し、それは何の違いもありませんでした。 – ComfortablyNumb

1

あなたドン」本当に何かを渡す必要があります。

protected void Page_Load(object sender, EventArgs e) 
{ 
    string userControlValue = UserControl.UserControlValue; 
} 
+0

私はそれをやったが、私はエラーが表示されます:名前カートは現在のコンテキストに存在しません。 – ComfortablyNumb

+0

カートのプロパティを公開しましたか? –

関連する問題