2013-04-25 8 views
11

にカスタムパラメータを送信する、それは2つのパラメータに基づいて関連のポストユーザーコントロールです:私はページ上のユーザーコントロール(た.ascx)を使用する必要があるユーザ制御ASCX

1. Current post 
2. Relation type 

ページには、3種類のインスタンスを持っている必要がありますこのコントロールの各ポストパラメータは同じですが、リレーションタイプ(タイトル、作者、ジャンル)が異なります。

1番目のパラメータは私がURLで取得できますが、2番目のパラメータはどうですか?

私はしばらくの間グーグルで行ってきましたが、まだ回答が見つかりませんでした。コントロールがこれらのパラメータに基づいて情報をロードできるように、2番目のパラメータを渡すにはどうすればよいですか?

public partial class SampleUC : UserControl 
{ 
    public string CurrentPost {get;set;} 
    public string RelationType {get;set;} 

    //... 

    //... 
} 
:! 私はむしろ誰ユーザーコントロールを構築していないが、
+0

なぜ(ascxの)プロパティを作成してそれを使用しているページから割り当てるだけでいいですか? – mshsayem

+0

'' コントロールからこれらのプロパティを読み取るにはどうすればよいですか? –

+0

これらのプロパティはコントロール(クラス)プロパティなので、常にそれらを読み書きできます – mshsayem

答えて

22

のようなユーザーコントロールのパブリックプロパティを作成します:( おかげコードに指示する方が良いだろう、各パラメータのコントロールを作成するにはいないと思います

マークアップからのようないずれかを使用してページからのものを割り当て:

<%@ Register TagPrefix="cc" TagName="SampleUC" Src="SampleUC.ascx" %> 
... 
... 
<cc:SampleUC id="myUC" runat="server" CurrentPost="Sample Post Title" RelationType="Title" /> 

またはコードビハインドから(それを使用してページ):

protected void Page_Load(object sender, EventArgs e) 
{ 
    //... 

    myUC.CurrentPost = "Sample Post Title"; 
    myUC.RelationType = "Title" ; 

    //... 
} 
+0

他人には辛いことがなければ、コードビハインドの '!IsPostBack'ブロックの外にプロパティの設定を入れてくださいコントロールを使用しているページのそれ以外の場合は、ポストバック時に空白になります。 – Kristopher

関連する問題