• ASP.NET一些常用的东西


    三层架构的命名:

    UI: User Interface (数据显示层 用户界面)
    BLL:Business Logic Layer (业务逻辑层)
    DAL:Data Access Layer (数据访问层)
    Dao:Data Access Object (数据访问对象和数据访问层一个意思)

    常用代码:

    Clipboard.SetDataObject(textBox1.SelectedText); 复制数据到到粘贴板
    this 不能调用 static 的方法,因为this是类属性

    提交到ASP.NET的表单,一定要加 name
    对多行文本加一个 @ 符号
    <asp:Button>来讲,onclick是服务端事件,OnClientClick是客户端单击事件
    <input>来讲(html页面),onclick就是客户端的单击事件
    Codeehind: aspx控制页面长什么样子,cs判断业务逻辑
    ClientScript.RegisterStartupScript(GetType(),"警告","alert('类型错误!')",true);
    //注册页面加载的时候执行Javascript脚本,第二个参数是页面中唯一名称,最后一个true为自动添加script标签

    cs可以调用aspx中的控件,aspx中也可以访问cs中定义的字段,函数,还可以编写复杂的C#代码,for等
    所有C#代码都可以写在aspx中(不推荐),在aspx中 <% %> 包含的语句,就是C#代码

    ----- RegisterStartupScript() 与 RegisterClientScriptBlock() 服务端注册JS代码

    RegisterStartupScript 方法将 <script> 块置于 Web 窗体的结尾处,以保证在执行客户端脚本之前已声明 Web 窗体中的所有 HTML 元素。

    RegisterClientScriptBlock() 通过此方法发送的脚本块位于 Web 页面的开始处,因为这种方法不要求将脚本块置于所有 HTML 元素之后。

    ------ Form表单获取多个值

    <input type="text" name="txtData" />
    <input type="text" name="txtData" />


    第一种:这个有问题,当用户在参数里面加","逗号时,将解析出多个数组

    string[] count = Request.Form["txtData"].Split(',');

    第二种:强烈推荐,解决用户传","逗号的问题

    post提交用 Request.Form.GetValues()方法
    get提交用 Request.QueryString.GetValues()方法

    string[] count = Request.Form.GetValues("txtData"); // 表单默认是用post提交的

    ----- 遍历所有TextBox控件

    Asp.net 不能像window那样直接遍历this.Controls就可以了,因为:
    this.Controls只是包含了Page根一级的control,这样次级的control就都没有遍历
    TextBox一般会放在form里面,遍历this.Controls只会访问form control,而不会访问form的子Contorl
    下面使用递归对页面control树进行完全遍历

        private void ResetTextBox(ControlCollection controls)
        {
            foreach (Control ctr in controls)
            {
                if (ctr.HasControls())
                {
                    ResetTextBox(ctr.Controls);
                }
                if (ctr is TextBox)
                {
                    ((TextBox)ctr).Text = "OK";
                }
            }
        }
        
        protected void Page_Load(object sender, EventArgs e)
        {
            // 调用
            ResetTextBox(this.Controls);
        }



  • 相关阅读:
    《算法竞赛入门经典》—— 5.2.6 栈、队列与优先队列
    《算法:C语言实现》—— 第二部分 —— 第3章 —— 基本数据结构
    《算法:C语言实现》—— 第二部分 —— 第3章 —— 基本数据结构
    《算法:C语言实现》—— 第二部分 —— 第3章 —— 基本数据结构
    Broken Keyboard (a.k.a. Beiju Text)
    Broken Keyboard (a.k.a. Beiju Text)
    Broken Keyboard (a.k.a. Beiju Text)
    mongodb实战聚合 组内排序
    mongodb实战聚合 组内排序
    MongoDB基础篇:MongoDB Shell命令大全
  • 原文地址:https://www.cnblogs.com/xgao/p/4173920.html
Copyright © 2020-2023  润新知