• 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不可见了,浏览器同样可以解析出来。

  • 相关阅读:
    20100720 14:14 转:BW十日谈之标准数据源
    BW会计年度期间转换出错
    SQL Server 2005 Logon Triggers 详细介绍
    作业输出文档维护
    windows 系统监视器 以及建议阀值
    linkedserver 的使用
    DAC 连接数据库需要做些什么
    SQL Server 2008新特性 Merge 详细见联机手册
    【20110406】提高数据库可用性需要注意的问题
    索引迁移
  • 原文地址:https://www.cnblogs.com/ZXdeveloper/p/4024424.html
Copyright © 2020-2023  润新知