2016-10-05 84 views
0

後保留DropDownList.SelectedValue我有以下我的aspx頁面上ASP:DropDownList無法禁用/重新啓用

<label>OT Code No.</label> 
<asp:DropDownList runat="server" ID="ddlOvertimeCode" class="form-control" TabIndex="1"></asp:DropDownList> 

在HTML下面這使得:

<select name="ctl00$MainContentPlaceHolder$ddlOvertimeCode" id="MainContentPlaceHolder_ddlOvertimeCode" tabindex="1" class="form-control"> 
    <option selected="selected" value="0">-Select-</option> 
    <option value="1">1 - 10B PLES</option> 
    <option value="2">2 - Investigation</option> 
    <option value="3">3 - Arrest</option> 
    <option value="4">4 - Misc</option> 
    <option value="5">5 - EWW</option> 
    <option value="6">6 - Holiday</option> 
    <option value="7">7 - In-Lieu Holiday</option> 
</select> 

當提交的形式,我禁用DropDownList使用我的.cs文件中的以下代碼

ddlOvertimeCode.Attributes.Add("disabled", null); 

我嘗試了禁用dropdownlist的其他方法,但是所有這些方法都會覆蓋列表的引導樣式,或者保持下拉列表能夠被更改,儘管它們是灰色和ReadOnly。添加disabled屬性是我能找到的唯一方法,在保留樣式完好無損的同時對其進行灰化處理。

問題棱當用戶退出的形式,會再次轉變爲可編輯,代碼重新啓用dropdownlist使用相同的方法:

ddlOvertimeCode.Attributes.Remove("disabled"); 

去除disabled屬性重置dropdownlist並讓我無法從代碼隱藏中更改DropDownList.SelectedValue

我需要一種灰顯DropDownList並在不覆蓋引導樣式的情況下從代碼隱藏中禁用它,然後將其返回到可編輯狀態,同時保留原始選定值的方法。

回答

0

檢查的AutoPostBack = 「真」

代碼 感謝名單

+0

我想,這應該是一個評論不是一個答案? –

+0

對不起,對..我是新來的。 – Aladein

+0

我沒有爲AutoPostBack指定一個值,這意味着它將默認爲false。會改變這個成果嗎?如果是這樣,我是否需要將它添加到aspx頁面中,還是需要在代碼中的不同點將代碼隱藏中的AutoPostBack設置爲「True」? – StateofDK