ユーザー固有のデータを返すカスタム ユーザー コントロールを作成しました。カスタム ユーザー コントロールを読み込むには、次のコード行を使用します。
UserControl myUC = (UserControl).Load("~/customUserControl.ascx");
しかし、どうすればstring user
User Control 内にアクセスできますmyUC
か?
ユーザーコントロールを「ボブ」と呼びましょう
BobのUserControlから継承する場合は、これを行うのが安全だと思います。
Bob b = (Bob).Load("~/customUserControl.ascx");
ユーザーの部分については、私はあなたがやりたいことを本当にフォローすることはできません。クラスの「ユーザー」は、「Bob」ユーザーコントロールを作成し、「Bob」ユーザーコントロールにプロパティを設定したいのですか、それとも他の方法ですか?
最初のものについては、ユーザーコントロールにプロパティを作成する必要があります。
class Bob : UserControl{
public string User { get; set;}
}
そして、「Bob」インスタンスを作成した後に設定します。
b.User = theuser;
カスタム ユーザー コントロールの名前が「MyUserControl」であるとします。
このコードを試してください:
MyUserControl myUC = (UserControl).Load("~/customUserControl.ascx") as MyUserControl;
string result = myUC.user;
これまでのところありがとう。私のコードは上記とまったく同じです。
public partial class todo : System.Web.UI.UserControl
{
private string mysecondteststring;
public string setValue
{
get
{
return mysecondteststring;
}
set
{
mysecondteststring = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
// my code
}
}
しかし、Webサービスコードでポーリングのインスタンスを作成できません。私は何かを忘れますか?
Reference
->ユーザーコントロールが動的にロードされる.aspxページにを追加するのを忘れました。現在、通常の.aspxページで動作しています。サンプルコードはここにあります
参照属性がWebサービスで利用できないため、ユーザーコントロールをWebサービスに追加する方法を知っている人はいますか?
読み込まれたコントロールを実際の型にキャストし、そのパブリック プロパティを使用する必要があります。
MyUserControl myUCTyped = (MyUserControl)myUC;
myUCTyped.ThePublicProperty = "some value";