2011-02-18 73 views
2

我正嘗試使用一個複選框,該複選框在一個.vb文件中動態聲明,我試圖將其寫入到.aspx頁面中。我能寫的

<input type='checkbox />

使用RESPONSE.WRITE中的.vb類正常的複選框,但它出現空白使用

<asp:Checkbox runat='server' />

當我需要通過盒子是否被選中回服務器,因爲如果選中某個選項,我不得不批准某些內容,如果選中了另一個選項則拒絕某些內容,或者如果沒有選中,則不執行任何操作。我已經想出瞭如何使它們相互排斥,不是問題。有沒有人有任何建議?ASP.NET中的複選框

回答

1

你的問題在於,該頁面都被編譯的順序:當您將像asp:checkbox一個asp的控制,它被編譯成常規當它被髮送到客戶端時,附帶一些javascript的複選框。

當您從代碼隱藏向頁面寫入字符串「<input type='checkbox />」時,它將該字符串直接寫入頁面,在aspx頁面編譯其控件之後,但由於該窗口是有效的html,因此瀏覽器呈現控件。當您編寫asp:checkbox時,瀏覽器不知道如何處理它,因爲它不是有效的html。另外,這個頁面已經被編譯,所以.net沒有機會爲你創建正確的控件。

您需要創建通過代碼的新控件編程控件添加到網頁背後

This site does a great job explaining it

而且@toodles似乎當場上。編寫靜態html和asp.net是兩個完全不同的球類遊戲。我會花一點時間(如小時/天)reading/watching學習材料,以幫助你站起來。