Web开发学习点滴(持续更新)


1:Response.Write()后会在页面的第一行写入脚本,在<HTML>前执行脚本会影响CSS。解决方法是使用

 ClientScript.RegisterStartupScript(GetType(),"hello", "<script   language=javascript>alert('ok')</script>");

此方法将脚本写入</form>之前,不会影响CSS。


附:其他向客户端写入脚本的方法
方法 说明
RegisterClientScriptBlock 向页的顶部添加一个脚本块。以字符串形式创建脚本,然后将其传递给方法,方法再将脚本添加到页中。可以使用此方法将任何脚本插入到页中。请注意,脚本可能在所有元素完成之前呈现到页中;因此,您可能无法从脚本中引用页上的所有元素。
RegisterClientScriptInclude 与 RegisterClientScriptBlock 方法类似,但此方法将添加引用外部 .js 文件的脚本块。包含文件在任何其他动态添加的脚本之前添加;因此,您可能无法引用页上的某些元素。
RegisterStartupScript 向页中添加一个脚本块,该脚本块在页完成加载后引发页的 onload 事件之前执行。该脚本通常不创建为事件处理程序或函数;它通常只包含要执行一次的语句。
RegisterOnSubmitStatement 添加响应页的 onsubmit 事件而执行的脚本。该脚本在提交页之前执行,允许您取消提交



2. 在Aspx页面上可以使用<%$AppSettings: settingKey%>获得配置文件appSettings配置节中指定key的值

3.  当将textbox控件的ReadOnly属性设置为true时,如果在客户端用js脚本改变了这个textbox的值,提交之后在服务器端是得不到改动后的值的,可以通过Request.Form[textbox.ClientID]获得改动後的值

4.  在.Net1.0中只有一个html input的上传文件控件,而在2.0中有了一个WebControl:FileUpload,在验证用户时候选择文件并上传时,可以通过它的HasFile属性来判断,而不必这样来判断FileUpload1.PostFile != null && FileUpload1.PostFile.ContentLength > 0。

5.  可以使用$符号轻松的使用FindControl方法找到控件

< form  id ="form1"  runat ="server"  DefaultFocus ="formVw$txtName" >
    
< div >
        
< asp:FormView  ID ="formVw"  runat ="server" >
            
< ItemTemplate >
                Name: 
                
< asp:TextBox  ID ="txtName"  runat ="server"  
                    Text
='<%#  Eval("FirstName") + " " + Eval("LastName") % > ' />
            
</ ItemTemplate >
        
</ asp:FormView >
    
</ div >
</ form >

在上面的例子中使用form的DefaultFocus属性指定页面载入时焦点所在的控件,使用$符号就可以轻松的定位txtName

也可以使用以下代码来轻松的找到控件

TextBox tb  =   this .FindControl( " form1$formVw$txtName " as  TextBox;
if  (tb  !=   null )
{
    
//Access TextBox control
}




 

你可能感兴趣的:(web开发)