首页 > 代码库 > ASP.NET一些常用的东西

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);
    }
技术分享

 



 

ASP.NET一些常用的东西