下面是我嘗試實現的一個簡化示例;使用<%#isChecked%>表達式設置複選框
<asp:CheckBox runat="server" Checked="<%# this.isChecked %>" id="myCheckBox" />
然後在我的代碼後面;
public partial class _Default : System.Web.UI.Page
{
bool _isChecked = true;
public string isChecked
{
get
{
return _isChecked.ToString();
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
我知道,在這種情況下,我可以簡單地使用myCheckBox.Checked =真實的,但我只是用這個例子說明目的。真正的控制是一個自定義的控制,但我沒有運氣讓這種方法工作。它似乎忽略了我提供的價值。
以這種方式使用<%#this.isChecked%>有效嗎?
編輯:
對不起,我有急事寫這個,並認識到它不是真正清楚,我打算「複選框」到僅僅是一個例子。我只是試圖將服務器端布爾變成ASP控件的任何特定屬性,而不一定是複選框控件的「checked」屬性。
編輯2: 更新我的例子使用字符串屬性,而不是布爾域,但它現在報告在我的ASPX文件下面的錯誤;
無法轉換類型 '字符串' 到 '布爾'
這是我最初完成的工作,但是因爲控件在Page_Load之前爲父頁面執行而被渲染,所以該屬性被設置得太晚了,並且該控件根據屬性的默認值而不是一個在Page_Load中設置。 – 2009-03-03 16:15:38
該控件不應該完全呈現在這一點上,但是您是否嘗試過編輯該控件的Page_load?或者使用Page_PreInit? – cjk 2009-03-03 16:32:08