• Textbox.Visible=False隐藏方式导致的问题


    今天公司的正式环境有个功能不好使,但是测试环境没有问题,经过和同事的研讨,发现应该是我在写代码的时候把Textbox的visible属性设置为false导致的。

    当时的需求是需要在发邮件的时候加上“相关说明”,而“相关说明”的内容是由第一个发邮件的人填写的,第二个人在接到邮件以后,登录系统,发送第二封邮件,

    邮件的“相关说明”是用第一个人的最后一次写的“相关说明”,自己不写“相关说明”。由于公用一个上传,发邮件页面,并且只有第一个人能够看到“相关说明”的

    文本框。因此,我把Textbox的Visible默认设置为false,第一个发邮件的时候再设置成TRUE。

    程序在测试环境运行没有问题,然而今天在正式环境运行的时候,却出现了第二个人没有获取到第一个人的“相关说明”。

    通过同事的帮忙排查,发现因为Textbox的visible被设置成了false,虽然可以赋值,可能由于不同浏览器的原因,没有解析出来Textbox,无法取值,所以导致了没有相关说明。

    同事给出了用div的方法来隐藏和显示

                <div id="mydiv" runat="server" style="display:none;">
                    <asp:Label ID="LalExplain" Text="相关说明" 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>

    后台用以下代码来显示

    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="700px;">
    1、信息查询
    2、系统说明</textarea>
                    <span id="Label2" style="color:Red;"></span>
                </div>

    通过这种方法,只是将Textbox不可见了,浏览器同样可以解析出来。

  • 相关阅读:
    java多线程小节, 总结的不错
    奇瑞风云, 你还在路上么
    android NDK 环境建立
    外企下岗白领正成为“新4050”
    搭积木
    祝MORIENTES在LIVERPOOL有所成就
    简单生活
    为什么要更新
    归去来
    随记一笔
  • 原文地址:https://www.cnblogs.com/ZXdeveloper/p/4024424.html
Copyright © 2020-2023  润新知