• ehr遇到问题及解决方法


    1, 模态对话框中下载文件时死了

    解决方案:页面中加下面代码(模态对话框禁用了很多功能)
    <base target="download" />
    <iframe id="download" name="download" height="0px" width="0px"></iframe>

    2,updatePanel后台更新数据,但是后台在这段处理之后,前台js中需要根据这段处理重新计算一些数值(比如后台创建了很多行,前台根据返回行号需要在动态增加一行时生成控件的下标)
    解决方法: </asp:UpdatePanel>后紧跟一段js
    <script type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(your_event);//注册你的事件
    </script>

    3,取服务端控件客户端验证+ 纯html验证(自己写的)
    方法;
    <script type="text/javascript">
    function WebForm_OnSubmit() {
    //validateHtmlControl()是自己写的验证
    if (typeof (ValidatorOnSubmit) == "function") {
    if (ValidatorOnSubmit() == false || validateHtmlControl() == false) {
    return false;
    }
    return true;
    }
    }
    </script>
    后来遇到一个Approved不验证的问题,后来发现应该是ValidatorOnSubmit()的问题(问题函数,瓦擦擦),应该用Page_ClientValidate("验证group"),但是Page_ClientValidate在异步回发时就会验证,所以加一个event判断(在WebForm_OnSubmit中不是submit的取不到event,为null)
    后来这个方法重写为
    function WebForm_OnSubmit() {
    if (typeof (ValidatorOnSubmit) == "function") {
    var vTag = 0;
    // if (ValidatorOnSubmit() == true) { //这个方法有问题
    // vTag++;
    // }
    if (event != null) {
    if (event.srcElement.causesValidation == "True" || event.srcElement.getAttribute("causesValidation") == "True") {
    if (typeof (Page_ClientValidate) == "function") {
    if (Page_ClientValidate("ValidateSubmit") == true) {
    vTag++;
    }
    }
    if (validateHtmlControl() == true) {
    vTag++;
    }
    if (vTag == 2) {
    return true;
    }
    return false;
    }
    else {
    return true;
    }
    }
    else {
    return true;
    }
    }
    }
    </script>

    4, 数据绑定的尽可能一次性在数据源搞好,不要在itemdataBound中搞数据库查询
    5,join (select * from T where a<>'')
    >
    join T on ... and T.a<>''
    6, oleDB不能通过sheet名读取,因为混合列类型时,不为当列类型(excel会从前八行选择最多类型的)取不到值(为空)。
    网上所谓的解决方案都是扯淡http://hi.baidu.com/%CD%F5%BD%F0%BB%A220080111/blog/item/1b4308126e91e3d5c3fd78b8.html

    7, 一个蛋疼的问题:修改file控件的"浏览"二字,用以下方法会影响excel的上传
    <%-- <input type="file" runat="server" id="FileUpload1" style="display:none" title="Browse" onpropertychange="txtFilePath.value=this.value;" />--%>
    <%-- <input type="text" readonly="readonly" id="txtFilePath" style=" 220px;" />
    <input type="button" id="btnTemp" onclick="document.getElementById('<%=FileUpload1.ClientID %>').click()" value="Browse" />--%>
    <%-- <asp:Button ID="btnBrowse" runat="server" SkinID="NormalBtn" Text="Browse"
    OnClientClick="tempButton()"/>--%>

    8, UpdatePanel怎样和纯HTML动态生成融合,
    将不需要回发的部分用另一个UPdatePanel包起来,设定
    UpdateMode="Conditional",然后设定
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="__UPI"/>
    </Triggers>
    这样它就只受这一个控件的影响


    9, .saveHistory{behavior:url(#default#savehistory);}
    一个控件设置了这个class属性,页面刷新也保存值

    10. 表被锁定后的解决方法


    --查询被锁的id
    select request_session_id as spid,OBJECT_NAME(resource_associated_entity_id) as tableName
    from sys.dm_tran_locks
    where resource_type='OBJECT'


    --将上面查到的id赋值为下面的spid
    declare @SPID INT
    Set @SPID = 52
    declare @sql varchar(1000)
    set @sql='kill '+cast(@SPID as varchar)
    exec(@sql)


    11, 查看表的信息(字段类型、长度、是否主键、是否可空、说明)


    declare @table_name as varchar(max)
    set @table_name = 'SalesPortal_Report_PreContract'
    select * From(

    select sys.columns.column_id, sys.columns.name, sys.types.name as typeName, sys.columns.max_length, sys.columns.is_nullable,
    (select count(*) from sys.identity_columns where sys.identity_columns.object_id = sys.columns.object_id and sys.columns.column_id = sys.identity_columns.column_id) as is_identity ,
    (select value from sys.extended_properties where sys.extended_properties.major_id = sys.columns.object_id and sys.extended_properties.minor_id = sys.columns.column_id) as description
    from sys.columns, sys.tables, sys.types where sys.columns.object_id = sys.tables.object_id and sys.columns.system_type_id=sys.types.system_type_id and sys.tables.name=@table_name --order by sys.columns.column_id
    ) a where a.typeName<>'sysname' order by column_id

    12, 一个有趣的小东西:
    服务器端的Lable,设置Text属性,与在"<></>"之间设置,在后者还可以加<font color="red"><b>*</b></font>

    13 updatepanel 中按钮下载文件出错 "由于出现错误 c00ce514 而导致此项操作无法完成"
    方案:按钮变成postback的Trigger
    原因:异步回发返回的resposeText值过大,估计不认了


    14,sql优化

    select
    stuff((select ',' + CILAccount from Payroll_SecurityCode for xml path('')),1,1,'')

    SELECT STUFF('abcdef', 2, 3, 'ijklmn')


    15

    public static void SetValue_ddl(System.Web.UI.WebControls.DropDownList DDlist, object value)
    {
    if (value != null)
    {
    if (DDlist.Items.FindByValue(value.ToString()) != null)
    {
    DDlist.SelectedValue = value.ToString();
    }
    else
    {
    DDlist.SelectedIndex = -1;
    }
    }
    else
    {
    DDlist.SelectedIndex = -1;
    }
    }

  • 相关阅读:
    The formatter threw an exception while trying to deserialize the message in WCF
    通过Web Deploy方式部署WCF
    The Managed Metadata Service or Connection is currently not available
    How to create Managed Metadata Column
    冒泡算法
    asp.net core 实战项目(一)——ef core的使用
    Vue学习笔记入门篇——安装及常用指令介绍
    Vue学习笔记入门篇——数据及DOM
    Vue学习笔记目录
    Chart.js在Laravel项目中的应用
  • 原文地址:https://www.cnblogs.com/liutianyu/p/4064046.html
Copyright © 2020-2023  润新知