2012-04-16 63 views
1

我已經將用戶控件添加到表單視圖項模板中,但我已將公共屬性添加到用戶控件,並且我似乎無法弄清楚如何設置屬性。我試過以下內容:在FormView中使用公共屬性的用戶控件

<uc1:OfacControl id="OfacControl1" runat="server" AssetEvictionId='<%# Bind("AssetEvictionId") %>' /> 

但是這個值永遠不會正確設置。

我自己也嘗試做形式的預渲染方法的代碼隱藏像這樣:

var assetEvictionIdHiddenField = (HiddenField)oFormView.FindControl("AssetEvictionIdHiddenField"); 
var OfacControl1 = (Ofac)oFormView.FindControl("OfacControl1"); 

if (OfacControl1 != null && assetEvictionIdHiddenField != null) 
    OfacControl1.AssetEvictionId = Convert.ToInt32(assetEvictionIdHiddenField.Value); 

這也不起作用。

它似乎是一個計時問題。它看起來像在設置的值不同的時間呈現控件。如果綁定語法不起作用,並且我不得不使用後面的代碼,那麼應該使用哪種表單視圖事件來設置值。我也嘗試了OnItemCreated事件。這也沒有用。

回答

1

看來你試圖在錯誤的地方設置控件。你應該在Init中設置它。

ASP.NET Page Life Cycle Overview狀態如下:

Init

畢竟控件都已初始化和 已應用所有外觀設置引發。個別控件的事件發生在頁面的事件之前。使用此事件來讀取或初始化控件 屬性。

相關問題