2010-11-30 3 views
0

カスタム.ascxコントロールがあり、コードを使用してそのプロパティの1つを設定したいと考えています。私は分離コードでaspxページでc#codebehindを使用してタグ/属性値を設定できません

<uc1:CustomContent ID="bunchOfContent" runat="server" contentPayload='<%# getRegionID() %>' /> 

:.aspxので、私はこれを持って

public partial class Region : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
... things 
     } 

     public string getRegionID() 
     { 
      //return "region_" + Request["region"]; 
      return "thevalueIwant"; 
     } 

しかし、私はしたい値が取り込まれていないとコードが(ブレークポイントがトリガされていない)が呼び出されていません。

私は間違っていますか?私はまったくの引用符に "を"からの引用符を変更するなど、さまざまな変更をしようとしました。また、私は=の代わりに<%の#が、運の<%を使用しました。ありがとう!

答えて

3

Page_Load方法では、することができます操作を行います。

bunchOfContent.contentPayload = getRegionID(); 

<%# ... %>が機能しなかった理由それはあなたがデータバインディングに使用するためには、あなたがそこに実行されるように置くコードをフォームだから、あなたのようにどこかDataBind()メソッドを呼び出す必要とされます。 <%= ... %>の場合、サーバーコントロールプロパティの設定には適していません。簡略形式の<% Response.Write(...) %>です。

+0

Boon!これは即座に修正されました!私はあなたの名誉の中に小さな神社を建てます:... – Glinkot

+0

余分な説明をありがとう。コードを呼び出すためにさまざまな状況で使用する構文を決めるのは面倒です。練習、私は推測する:) – Glinkot

関連する問題