今天公司的正式環(huán)境有個(gè)功能不好使,但是測試環(huán)境沒有問題,經(jīng)過和同事的研討,發(fā)現(xiàn)應(yīng)該是我在寫代碼的時(shí)候把Textbox的visible屬性設(shè)置為false導(dǎo)致的。
當(dāng)時(shí)的需求是需要在發(fā)郵件的時(shí)候加上“相關(guān)說明”,而“相關(guān)說明”的內(nèi)容是由第一個(gè)發(fā)郵件的人填寫的,第二個(gè)人在接到郵件以后,登錄系統(tǒng),發(fā)送第二封郵件,
郵件的“相關(guān)說明”是用第一個(gè)人的最后一次寫的“相關(guān)說明”,自己不寫“相關(guān)說明”。由于公用一個(gè)上傳,發(fā)郵件頁面,并且只有第一個(gè)人能夠看到“相關(guān)說明”的
文本框。因此,我把Textbox的Visible默認(rèn)設(shè)置為false,第一個(gè)發(fā)郵件的時(shí)候再設(shè)置成TRUE。
程序在測試環(huán)境運(yùn)行沒有問題,然而今天在正式環(huán)境運(yùn)行的時(shí)候,卻出現(xiàn)了第二個(gè)人沒有獲取到第一個(gè)人的“相關(guān)說明”。
通過同事的幫忙排查,發(fā)現(xiàn)因?yàn)門extbox的visible被設(shè)置成了false,雖然可以賦值,可能由于不同瀏覽器的原因,沒有解析出來Textbox,無法取值,所以導(dǎo)致了沒有相關(guān)說明。
同事給出了用div的方法來隱藏和顯示
<div id="mydiv" runat="server" style="display:none;"> <asp:Label ID="LalExplain" Text="相關(guān)說明" runat="server" Visible="false" /> <asp:TextBox ID="TxtBoxExplain" runat="server" Width="700px" TextMode="MultiLine"></asp:TextBox> <asp:Label ID="Label2" runat="server" ForeColor="Red"></asp:Label> </div>
后臺(tái)用以下代碼來顯示
mydiv.Style.Value = "display.block";
以下是瀏覽器解析后的代碼
<div id="mydiv" style="display:none;"> <textarea name="TxtBoxExplain" rows="2" cols="20" id="TxtBoxExplain" disabled="disabled" class="aspNetDisabled" style="width:700px;">1、信息查詢2、系統(tǒng)說明</textarea> <span id="Label2" style="color:Red;"></span> </div>
通過這種方法,只是將Textbox不可見了,瀏覽器同樣可以解析出來。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注