asp.net总结

原创 2007年09月20日 14:59:00
以下是我对asp.net的认识以及心得总结,比较基础的东西,当然本人认为要学好asp.net需要具有良好的web基础。(小磊)


<
%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebHtmlcontrol2.aspx.vb" Inherits="WebApplication1.WebHtmlcontrol2"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    
<HEAD>
        
<title>WebHtmlcontrol2</title>
        
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
        
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
        
<meta name="vs_defaultClientScript" content="JavaScript">
        
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

<script runat="server">//这块是服务器代码,同样可以写在后台
Sub onserver_Click(ByVal sender As Object, ByVal e As System.EventArgs)
//这是当Html控件转换为Web控件后,调用的服务器事件过程(同样可以写在后台),
注意该事件的参数一定要与实际事件的参数一致
 Response.Write(
"onserver_click")
End Sub

Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Response.Write(
"button1_Click")
 End Sub

Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Response.Write("TextBox1_TextChanged") End Sub
</script>

<script language="javascript" >
//这块是客户端脚本,提出这点是因为Web控件的id很容易发生变化,所以需要利用clientid来准确判断该元素
function sumbit1_onclick()...{
alert(document.getElementById(
"<%=textbox1.clientid%>").value)
}

function textbox1_onkeyup(){
//这段代码的意思是在客户端脚本可以调用服务器控件textbox1的TextBox1_TextChanged事件,我们从源代码中经常会看到__doPostBack这是系统自己写的,意思就是服务器的回发事件也就是执行服务器控件的事件
 __doPostBack('textbox1','');
}
</script>


    </HEAD>
    
<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 160px; POSITION: absolute; TOP: 112px" runat="server"
                Text
="Button1"></asp:Button>

     
<asp:TextBox id="TextBox1" style="Z-INDEX: 104; LEFT: 264px; POSITION: absolute; TOP: 112px"
                runat
="server" AutoPostBack="True"></asp:TextBox>
            
<asp:DropDownList id="DropDownList1" style="Z-INDEX: 105; LEFT: 472px; POSITION: absolute; TOP: 112px"
                runat
="server" AutoPostBack="True"></asp:DropDownList>
//对于web的text和drop需要设置
AutoPostBack="True"否则将不会执行后台的服务器事件,
这样每次执行后都会提交一次页面,这时就需要我们在后台Page_Load加入If Not Me.IsPostBack Then...

将一次执行代码写入,否则就会重复执行。
           <INPUT style="Z-INDEX: 102; LEFT: 160px; POSITION: absolute; TOP: 256px" type="submit"                                                                                  value="Submit" name="sumbit1" id="sumbit1" onclick="sumbit1_onclick();">
// web端的button与html中的sumbit是一个效果,都会提交本页面
 <INPUT style="Z-INDEX: 103; LEFT: 264px; POSITION: absolute; TOP: 264px" type="text" id="text1" name="text1">
 
//对于Html控件需要手动增加其id和name,web控件就不需要了  <SELECT style="Z-INDEX: 106; LEFT: 472px; WIDTH: 72px; POSITION: absolute; TOP: 264px" name="select1" id="select1">
                
<OPTION value="aaa">aaa</OPTION>
                
<OPTION value="bbb">bbb</OPTION>
                
<OPTION value="ccc">ccc</OPTION>
                
<OPTION value="ddd" selected>ddd</OPTION>
            
</SELECT>
            
<asp:Label id="Label1" style="Z-INDEX: 107; LEFT: 136px; POSITION: absolute; TOP: 72px" runat="server">Web</asp:Label>
            
<asp:Label id="Label2" style="Z-INDEX: 108; LEFT: 136px; POSITION: absolute; TOP: 208px" runat="server">Html</asp:Label>
        <input
  id="Button2" style="Z-INDEX: 109; LEFT: 168px; POSITION: absolute; TOP: 312px"type="button"                         value="Button2" name="Button2" runat="server " onserverclick="onserver_Click">
//这是将html控件转换为web控件,这样就可以在后台将其当服务器控件一样使用,当然需要设置id
因为我们在前台指定了onserverclick或者onclick事件,所以如果onserver_Click事件放在后台执行的就不需要委托,否则需要委托事件,见下

            </form>
    
</body>
</HTML>

后台代码:
Public Class WebHtmlcontrol2
    Inherits System.Web.UI.Page

#Region " Web フォーム デザイナで生成されたコード "

    'この呼び出しは Web フォーム デザイナで必要です。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
    Protected WithEvents text1 As System.Web.UI.HtmlControls.HtmlInputText
    Protected WithEvents DropDownList1 As System.Web.UI.WebControls.DropDownList
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label
    Protected WithEvents Label2 As System.Web.UI.WebControls.Label

    'メモ : 次のプレースホルダ宣言は Web フォーム デザイナで必要です。
    '削除および移動しないでください。
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        ' CODEGEN: このメソッド呼び出しは Web フォーム デザイナで必要です。
        ' コード エディタを使って変更しないでください。
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        If Not Me.IsPostBack Then
            Call AddDropDownList()

            Button1.Attributes.Add("onclick", "return ggg();") //这就是web控件执行客户端事件的方法
            TextBox1.Attributes.Add("onkeyup", "textbox1_onkeyup();")
        End If

        Response.Write(Request.Form("text1"))//这是在服务器端取得Html控件的值得方法

        ’Call StartupScript()     
//这是在服务器段增加客户端脚本的方法,两者的区别是页面完整读取完后显示

        Call ClientScriptBlock()
//这是在服务器段增加客户端脚本的方法,该方法是页面读取前显示

       'AddHandler Button2.ServerClick, AddressOf onserver_Click
    //就是前面所说的如果没有指定
onserverclick="onserver_Click"就需要在后台委托,同事将该onserver_Click事    件放在后台执行

    End Sub

    Private Sub AddDropDownList()

        DropDownList1.Items.Add("aaa")
        DropDownList1.Items.Add("bbb")
        DropDownList1.Items.Add("ccc")
        DropDownList1.Items.Add("ddd")

    End Sub


    Private Sub StartupScript()   
 


        Dim script As String
        script = "<script language=""javascript"">" & vbCrLf
        script = script & "function ggg(){" & vbCrLf
        script = script & "if(!confirm('aaa'))return false;" & vbCrLf
        script = script & "}" & vbCrLf
        script = script & "</script>"
        If Not Page.IsStartupScriptRegistered("123") Then
            Page.RegisterStartupScript("123", script)
        End If

    End Sub

    Private Sub ClientScriptBlock()

        Dim script1 As String
        script1 = "<script language=""javascript"">" & vbCrLf
        script1 = script1 & "function ggg(){" & vbCrLf
        script1 = script1 & "if(!confirm('aaa'))return false;" & vbCrLf
        script1 = script1 & "}" & vbCrLf
        script1 = script1 & "</script>"
        If Not Page.IsClientScriptBlockRegistered("clientScript") Then
            Page.RegisterClientScriptBlock("clientScript", script1)
        End If

    End Sub

    Public Sub Html()   //这就是在服务器端向Html控件传值得方法
        Dim str As String
        str = "Html Web"
        Page.RegisterStartupScript("example", "<script    language='JavaScript'>document.getElementById('text1').value='" + str + "';</script>")
    End Sub

End Class

基于asp.net + easyui框架,一步步学习easyui-datagrid——完成,总结(四)

通过前面三篇博客对easyui-datagrid组件的学习,相信大家对jQuery Easyui框架,有了更加深入的了解和学习。这篇博客,我会从两个方面着手做一下总结: 1、jQuery...

总结 asp.net 和 javascript获取本地IP(MAC)和服务器IP(MAC)的方法

1.Asp.net 1.1获取客户端IP: private string GetClientIP()   {    string result = HttpContext.Current.Re...

ASP.NET MVC中在Action获取提交的表单数据方法总结

有Index视图如下: 视图代码如下: 主页 Enter your name: ...

ASP.NET视频学习总结

做完新闻发布系统后,对B/S的大致内容有了一个初步的了解。通过asp.net视频的学习,对其中涉及到的基础知识及web控件又多了几分了解。同时进一步对B/S开发与C/S开发之间的异同有了一些认识。 ...

C#编程中(ASP.Net)获取当前网页路径的所有方法集合总结

//获取当前进程的完整路径,包含文件名(进程名)。 string str = this.GetType().Assembly.Location; result: X:\xxx\xxx\xxx....
  • hejisan
  • hejisan
  • 2015年02月03日 01:45
  • 2851

[转]asp.net 前台绑定后台变量方法总结

asp.net前台读取后台变量
  • cubuntu
  • cubuntu
  • 2011年05月04日 22:48
  • 943

Asp.Net各种超时问题总结

在数据库或者请求操作时,如果选择的时间段过短或操作数据量过大,就会遇到"请求超时"的的问题,网络上提供很多解决方案,但普遍不完善,根据个人经验及参考网络解决方案,先将其汇总如下:     根据错...

总结的ASP.NET 常用性能优化方法

总结的ASP.NET26个常用性能优化方法 总结的ASP.NET26个常用性能优化方法 2008-9-4 数据库访问性能优化   数据库的连接和关闭   访问数据库资源需要创...

asp.net页面间数据传递(总结篇)

1. Get(即使用QueryString显式传递)      方式:在url后面跟参数。      特点:简单、方便。      缺点:字符串长度最长为255个字符;数据泄漏在url中。  ...
  • my98800
  • my98800
  • 2017年11月29日 08:42
  • 56

asp.net母版页学习总结

Asp.Net母版页的使用 http://www.cnblogs.com/xqhppt/archive/2010/10/10/1847348.html 背景:回顾下以前用到过的asp.ne...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net总结
举报原因:
原因补充:

(最多只允许输入30个字)