• web开发中的点滴


    1.链接,如果是html标签,/webform.aspx,会自动从根目录开始查找文件。而非html标签可用相对路径:~/.而最好不要直接写webform.aspx

    2.使用List<string>或字符串数组作为Repeater等控件的数据源时,在aspx页面使用Container.DataItem属性进行绑定。即可显示出来数组中的内容。

    3.如果要给aspx页面中的<a>标签或<linkbutton>加客户端的事件,则最好使用.href='javascript:......'不要省略javascript:否则会被当成文件,浏览器会自动加上当前的URL路径,而导致函数不能正确执行。

    4.linkbutton 在后台代码里处理它的onclick 和 onclientclick 属性:

      linkbutton.Attributes["href"] = "#";  linkbutton.OnClientClick = "";  linkbutton.Click -= linkbutton_Click;

    5.SqlHelper.ExecuteScalar 的返回值是 object,如果直接ToString(),可能会引发空引用的异常,所以需要判断一下,DBNull.Value or null.

    6.使用母版页时,在设计时可以把母版页当作宿主,但在使用时可以当成用户控件,MasterPage确实继承自UserControl类,在内容页执行
    时,先执行本身PageLoad再执行母版页的PageLoad.然后再执行本页回发事件。如果页面中又含有用户控件,则接着才执行用户控件的PageLoad.
    7.在前端页面中使用的显示的变量如<%=Variable %> 这个variable可以是Protected型的,而不必须是public的。。因为在同一个命名空间里。

    8.page页面输出字符串的时候,最好加上htmlencode.使用这个方法可以避免被<style></style>和<script></script>等标签污染页面。

    9.放在appdata下的数据库文件,在运行的时候,可以被自动附加到数据库中。

    10.查找sqlserver存储过程和函数中的关键字,可以使用

     SELECT * FROM
     INFORMATION_SCHEMA.ROUTINES
     WHERE ROUTINE_DEFINITION
     LIKE '%xxx%'

    11.<img alt="" src="<%=BLLRss.GetServerImagePath(Model.prdpic[0]) %>"; border=1 height=58 width=58  onerror="this.src='<%=Request.ApplicationPath%>Content/Images/ymPrompt/ask.gif'" />  这样的写法可以保证,img的图片如果加载不上的话,你可以设置一个安全的路径找到一个图片。不至于显示XX.

    12.IE6中<a href="javascript:void(0)" onclick="alert('hello')">会有问题,可以改为<a href="###" ....>

    13.sql server 中临时表的使用体验:

    代码
    CREATE PROCEDURE sp_weborder_getPagedProductList
    @TableNames VARCHAR(200), --表名,可以是多个表,但不能用别名
    @PrimaryKey VARCHAR(100), --主键,可以为空,但@Order为空时该值不能为空
    @Fields VARCHAR(200), --要取出的字段,可以是多个表的字段,可以为空,为空表示select *
    @PageSize INT , --每页记录数
    @CurrentPage INT, --当前页,0表示第1页
    @Filter VARCHAR(100) , --条件 此处必须是parentid 即dept_id
    @Group VARCHAR(200), --分组依据,可以为空,不用填 group by
    @Order VARCHAR(200), --排序,可以为空,为空默认按主键升序排列,不用填 order by
    @totalCount bigint
    as
    BEGIN

    DECLARE @parent_id int
    SET @parent_id=convert(INT,@Filter)

    create table ##t_level(dept_id int ,[Level] int)

    DECLARE @Level int
    SET @Level=1
    INSERT ##t_level SELECT @parent_id,@Level
    WHILE @@ROWCOUNT>0
    BEGIN
    SET @Level=@Level+1
    INSERT ##t_level SELECT a.dept_id,@Level
    FROM dbo.weborder_dept a,##t_level b
    WHERE a.parent_id=b.dept_id
    AND b.Level=@Level-1
    END

    SELECT @TableNames='weborder_product_family'

    SELECT @Filter= ' dept_id in (select dept_id from ##t_level)'

    exec dbo.page
    @TableNames ,
    @PrimaryKey ,
    @Fields ,
    @PageSize ,
    @CurrentPage ,
    @Filter ,
    @Group ,
    @Order ,
    @totalCount output
    ----手动删除全局临时表
    drop table ##t_level
    END

  • 相关阅读:
    质子喜欢的和他推荐的
    Linux
    Linux
    Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序
    单点登录(SSO)的设计
    .NET Core快速入门教程 5、使用VS Code进行C#代码调试的技巧
    .NET Core快速入门教程 4、使用VS Code开发.NET Core控制台应用程序
    .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)
    .NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
    .NET Core快速入门教程 1、开篇:说说.NET Core的那些事儿
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/1792910.html
Copyright © 2020-2023  润新知