sen

导航

知识点滴

Posted on 2009-11-22 23:51  sen  阅读(198)  评论(0)    收藏  举报

1.有些时候IIS启动不了,很有可能是因为80端口被占用,一般的,Skype启动后就占用80的端口(请注意这一点)

 

2.如果要把一个控件放在master Page中,请注意不要把控件拉到ContentPlaceHolder里面,因为它用于aspx 页面增加控件的容器,如果拉多个就可实现一部分是aspx页面的内容一部分是master Page的内容

(其实打开一个新建的默认的master Page 里面就有两个ContentPlaceHolder ,一个是在<head></head>区,用来加style 或者js的)

 

3.一个页面要访问它的master Page 页的控件要用这种方法:

Control test = this.Page.Master.FindControl("Button1"); / this.Master….

一个页面要访问usercontrol 里的控件可以用这种方法:(假设此用户控件拉到页面上的ID: UCsearch)

Control test = this.UCsearch.FindControl("TextBox1");

 

4.让一个按钮具有异步性(即不刷新页面),可以有下面的两种方法

  • 拉一个UpdatePanel,让AsyncPostBackTrigger的控件ID为那个按钮
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click">
            </asp:AsyncPostBackTrigger>
        </Triggers>
    </asp:UpdatePanel>
     

如上面代码显示,也可以在updatPanel属性Trigger集中指定哪个控件及事件

  • 不用按updatePanel 直接拉个ScriptManager
     protected void Page_Load(object sender, EventArgs e)
            {
                this.ScriptManager1.RegisterAsyncPostBackControl(this.Button1);
            }

5.让一个/多个控件发生刷新而又不让整个页面发生刷新(如DataGrid进行重新绑定)的方法

在页面上放一个ScriptManager 再拉一个updatePanel ,把控件放入到这个updatePanel里去,当做完操作后(如DataGrid的数据重新绑定后),

可以直接用this.UpdatePanel1.Update()去更新,请注意的是,这里面把updatePanel 的UpdateMode 改为Conditional而不是always  不然会报错

6.有一上面的两咱思路,我就可以把按钮和DataGrid放在不同的区域,如把Button放masterpage里,dataGrid放在Page里或者userControl里

7.一般的,在C#中调用JS代码有两种方法://my_alert是一个JS函数

  • Response.Write("<script language =javascript> my_alert('OK') </script>"); 这种方法就是直接执行而不等待页面加载完成
  • this.Page.RegisterStartupScript("any", "<script language =javascript> my_alert('OK') </script>");这种方法等待页面加载完成再执行
  • 在一个控件被注册或指定为异步调用时(通过UpdatePanel指定异步控件的方式) , 那么当这个控件所触发事件/订阅者中要执行指定的JS函数,那么请用

    UpdatePanel up = (UpdatePanel)cl;// 为指定为异步的那个UpdatePanel
    ScriptManager.RegisterStartupScript(up, this.GetType(), "anyString", "alert(‘OK’)", true);

8.在程序中用异常代替字符串来处理错误

protected Exception createException(string _message)
         {
             Exception myEx = new Exception(_message); //用自己的消息去替换异常消息
             return myEx; 

         }
//使用方法:
try
 {
     sqlCon.Close();
 }
catch (Exception e ) 
 {
     throw (createException("自己的处理" + e.Message));
 }