webform_webform登录 - CSDN
精华内容
参与话题
  • winform webform 简单高效的界面框架

    万次阅读 2019-01-07 10:40:18
    一、winform的界面框架设计( james_lx) 一直以来,我都在寻找WINFORM程序,简单高效的界面框架,终于,我有了一个。在此分享给和我一样使用C#而苦于界面设计的人。我的发现中,并没有加入什么框架和代码,只是...

    一、winform的界面框架设计( james_lx)

    一直以来,我都在寻找WINFORM程序,简单高效的界面框架,终于,我有了一个。在此分享给和我一样使用C#而苦于界面设计的人。我的发现中,并没有加入什么框架和代码,只是使用原生的控件一种组合,这种组合满足我简单高效而且灵和的开发需求。

     

    1、界面最外层,我放了一个Tabcontrol控件,这个可以把程序功能按大类区分开来。

    2、在每一个tab控件的页签中,加入一个toolstripContainer控件。

    3、在toolstripContainer控件中,上面放toolstrip工具条,下面放statusStrip状态条控件,中间放splitContainer容器。

    4、splitContainer容器中,再放一个listview和listbox或者2个listview.....

    这种界面的好处是,大功能,我们界面分得很清楚。而每一个功能,我们都有工具条、状态条、数据表,数据日志来展现和使用。 在界面的背后,它们都是一个FORM代码文件中,全局变量可以通用,全局很方便控制。

     

    二、webform的界面框架设计( james_lx)

    无独有偶,我有一个web平台( asp.net , FineUI ),和winform桌面应用程序对应,我也使用了类似的界面设计。

    1、因为使用SAP很多年,在平台的功能和权限这块,我学习使用了我熟悉的SAP模式。

    2、在主界面的设计上,也是TAB控件来区分大的功能总类。

    3、每一个功能页签中,有工具条,状态条、数据表格区来展示操作数据。

    使用原生的控件组合出一个简单高效的界面框架 ,这个问题一直困扰了我很久,终于我找到了一条路。

     

     

     

     

    展开全文
  • C# WebForm

    千次阅读 2014-03-04 13:59:19
    什么是WebForm常用控件。 WebForm控件是如何解析成为HTML表单的。 WebForm优点。 WebForm缺点。 我使用WebForm常常烦的错误。

    什么是WebForm

    WebForm诞生于2002年

    WebForm是微软开发的一款产品,它将用户的请求和响应都封装为控件。

    WebForm负责封装用于用户端显示的数据。

    在EasyJWeb中,WebForm是一个非常重要,也是使用最为频繁的对象,他充当了在视图及程序之间传输、处理数据的媒介。

    常用方法

    1、WebForm中包含了视图页面中传输进来的数据,可以通过Request.Form.Get("键名")的方式来读取这些数据。由于提交过来的form表单只有只读属性,说以只能使用Get方法获取表单中的值,而不能添加修改表单里面的值。

    2.如果需要更多的用法,请参考EasyJWeb的教程;

    WebForm控件

    HTML控件
    asp .net将HTML控件当做普通字符串渲染到浏览器端(不做任何处理)

    asp .net控件
    经过asp .net高度封装的控件(运行在服务器端/渲染到浏览器端)

    HTML控件
    运行在服务器端/渲染到浏览器端/部分封装(属性多为HTML属性)
    与asp .net控件相比优点: ①操作方便②会对虚拟路径 id→ClientID进行处理


    WebForm控件的运行

    点击ASP按钮会先执行Page_Load事件,然后才会去执行相应的Button_Click()事件。

    WebForm的一个关键点就是PostBack,无论你点击哪一个ASP.NET服务器按钮都会回发到服务器端。而Html控件除非点击submit控件其余是不会回发的。

    但是也可以设定点击的控件是否需要回发的服务器端。如果设置ASP.NET的控件AutoPostBack="false"那么点击这个按钮是不会回发到服务器端的,同样不会造成页面刷新。

    protected void Page_Load(object sender,EventArgs e)

    {

    if(!Page.ISPostBack)

    {

    //TODO:界面初始化工作,如果不在这里面那么每次点击按钮回发的时候,都会先把这里面的方法执行一次,可能会破坏提交过来表单数据准确性和数据完整性。

    }

    }

    WebForm优点

    1.编写简便,所看见的页面就是最后运行的界面,提高了开发效率。

    2.支持事件模型开发。有丰富的服务器组件。   //ASP.NET服务器控件和javascript都事件模型,事件源将事件发送给一个或多个监听器,监听器只要接收到事件,监听器将处理这些事件。

    3.控件丰富。

    WebForm缺点

    1.封装太强,很多底层的东西初学者不是很明白。

    2.自定义控制不灵活。

    3.ViewState处理。

    这里要讲出ViewState的使用中对于开发过程中肯定是非常的方面可以像Session一样的在客户端存放一些零时数据和变量,因为他耗费的服务器资源较少(与Application和Session相比)。默认情况下.NET系统默认对状态数据进行维护,并且适用于任意浏览器。

    但是在出现他之后随之引起的问题,首先性能问题,用户显示页和发送页时的速度仍然可能减慢。设备限制。移动设备可能没有足够的内存容量来存储大量的视图状态数据。潜在的安全风险。视图状态存储在页上的一个或多个隐藏域中。虽然视图状态以哈希格式存储数据,但它可以被篡改。

    使用WebForm一些小技巧

    labTitle.Text = value.ToString().Trim().Replace(System.Environment.NewLine,"<br />");//让输入框中的换行转换成为一个网页显示的回车符号。

    Response.Redirect(Request.Url.ToString()); //表示通知浏览器需要刷新本页

    以流形式下载文件首先需要把Response.Clear();//清除Response中的数据,如果不清除Response里面的遗留数据可能会导致下载的文件存在乱码。

    WebForm前台JS调用后台代码

    1.后台要被调用的函数ss()
    public string ss()
    {
    return("a");
    }
    2.前台js调用示例:
    <script language=javascript>
    var a = "<%=ss()%>";
    alert(a);
    </script>


    展开全文
  • C#WebForm实现增删改查

    千次阅读 2017-04-24 23:42:56
    上文,我们使用pb和c#WinForm使用分别实现了增删改查,本文,我们C#WebForm技术来实现一下。首先,说明一点,WinForm和WebForm基本是一样,代码基本雷同,就是使用的控件不一样,页面排版上有点不同。数据库仍然采用...

            上文,我们使用pb和c#WinForm使用分别实现了增删改查,本文,我们C#WebForm技术来实现一下。首先,说明一点,WinForm和WebForm基本是一样,代码基本雷同,就是使用的控件不一样,页面排版上有点不同。数据库仍然采用sqlserver,表仍然采用table_test,字段不说了,参考前两篇文章。

    首先,在vs中创建一个ASP.NET空网站,test

    其次,和上文一样,创建数据库操作类db.cs

    web程序,会把类db.cs放在App_code文件夹中,代码如下:

    using System;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Data.SqlClient;
    
    /// <summary>
    ///db 的摘要说明
    /// </summary>
    public class db
    {
    
        public static string connectionstring = "server=localhost;database=db;uid=sa;pwd=password";
    	public db()
    	{
            //
            //TODO: 在此处添加构造函数逻辑
            //
    	}
    
        public static SqlConnection OpenDB()
        {
            try
            {
                SqlConnection oConn = new SqlConnection(connectionstring);
                oConn.Open();
    
                return oConn;
            }
            catch
            {
                throw;
            }
        }
    
        public static void CloseDB(SqlConnection oConn)
        {
            try
            {
                oConn.Close();
            }
            catch
            {
                throw;
            }
        }
    
        public static DataSet Execute(string strCommandString)
        {
            try
            {
                SqlConnection oConn = OpenDB();
    
                DataSet oDataSet = new DataSet();
                SqlDataAdapter oDataAdapter = new SqlDataAdapter(strCommandString, oConn);
                oDataAdapter.Fill(oDataSet);
    
                CloseDB(oConn);
    
                return oDataSet;
            }
            catch
            {
                throw;
            }
        }
    
        public static int ExecuteNonQuery(string strCommandString)
        {
            int li_count = 0;
            SqlConnection oConn = null;
            SqlCommand oComm = null;
            try
            {
                oConn = new SqlConnection(connectionstring);
                oComm = new SqlCommand();
                oConn.Open();
                oComm.Connection = oConn;
                oComm.CommandText = strCommandString;
                li_count = oComm.ExecuteNonQuery();
                return li_count;
            }
            catch
            {
                return 0;
            }
            finally
            {
                if (oConn != null) oConn.Close();
            }
        }
    
        public static int ExecuteReid(string strCommandString)
        {
            int li_count = 0;
            SqlConnection oConn = null;
            SqlCommand oComm = null;
            try
            {
                oConn = new SqlConnection(connectionstring);
                oComm = new SqlCommand();
                oConn.Open();
                oComm.Connection = oConn;
                oComm.CommandText = strCommandString;
                li_count = Convert.ToInt32(oComm.ExecuteScalar().ToString());
                return li_count;
            }
            catch
            {
                return 0;
            }
            finally
            {
                if (oConn != null) oConn.Close();
            }
        }
    }
    

    第三步:排版test.Aspx页面



    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <link href="css/demo.css" type="text/css" rel="stylesheet">
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <table id="Table1" cellspacing="0" cellpadding="0" border="0" style="width: 100%">
                <tr>
                    <td valign="middle" nowrap align="left">
                        <span class="spannone">查询条件:</span>
                        <asp:TextBox ID="txt_cx" runat="server" Width="202px" CssClass="tbnone"></asp:TextBox>
                        <asp:Button ID="bt_cx" runat="server" CssClass="btnone" Text="查询" OnClick="bt_cx_Click">
                        </asp:Button>
                    </td>
                    <td valign="middle" nowrap align="right">
                        <asp:Button ID="bt_add" runat="server" CssClass="btnone" Text="增加" OnClick="bt_add_Click">
                        </asp:Button>
                        <asp:Button ID="bt_del" runat="server" CssClass="btnone" Text="删除" OnClick="bt_del_Click">
                        </asp:Button>
                        <asp:Button ID="bt_save" runat="server" CssClass="btnone" Text="保存" OnClick="bt_save_Click">
                        </asp:Button>
                    </td>
                </tr>
            </table>
            <hr class="hr1">
            <asp:GridView ID="gv_1" runat="server" CssClass="dgtable" AutoGenerateColumns="False"
                AllowPaging="True" DataKeyNames="dbid" PageSize="5" OnPageIndexChanging="gv_1_PageIndexChanging" onselectedindexchanging="gv_1_SelectedIndexChanging">
                <HeaderStyle Wrap="False" CssClass="dghead" ForeColor="White" />
                <RowStyle Wrap="False" CssClass="dgitem" />
                <FooterStyle BackColor="White" ForeColor="#000066" />
                <Columns>
                    <asp:TemplateField SortExpression="xm1" HeaderText="姓名">
                        <ItemTemplate>
                        <asp:Label ID="xm1" runat="server" Text='<%# Eval("xm1")%>' CssClass="tdleft"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField SortExpression="xm2" HeaderText="性别">
                        <ItemTemplate>
                            <asp:Label ID="xm2" runat="server" Text='<%# Eval("xm2")%>' CssClass="tdleft"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField SortExpression="xm3" HeaderText="电话">
                        <ItemTemplate>
                            <asp:Label ID="xm3" runat="server" Text='<%# Eval("xm3")%>' CssClass="tdleft"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <HeaderStyle Wrap="False" Width="15px" />
                        <ItemTemplate>
                            <asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="False" CommandName="select"
                                ImageUrl="edit.gif" ToolTip="编辑" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <AlternatingRowStyle CssClass="dgalteritem" />
            </asp:GridView>
        </div>
     
        <table border="0" cellpadding="0" cellspacing="0" bordercolor="#111111" width="100%" class="px12">
            <tr>
                <td style="height: 10px">
                </td>
            </tr>
    		<tr height="30">
    			<td width="3%" background="topbg.jpg" align=center><IMG height="16" src="right.GIF"></td>
    			<td background="topbg.jpg" width="80"><b>信息编辑</b></td>
    			<TD background="topbg.jpg" align="right">
    			</TD>
    		</tr>
    	 </table>
    	 <div class="divhid">
    	      <asp:textbox id="dbid" runat="server" cssclass="tbinput"></asp:textbox>	            	             
    	</div>            
        <div>
            <table>    
                <tr>
                    <td style="height: 3px" colspan="2">
                    </td>
                </tr>
                <tr>
                    <td width="25%" height="20" class="tdlabel">
                        姓名:
                    </td>
                    <td width="75%">
                        <asp:TextBox ID="xm1" runat="server" CssClass="tbinput"></asp:TextBox>
                    </td>
                    <td>
                    </td>
                </tr>
                <tr>
                    <td width="25%" height="20" class="tdlabel">
                        性别:
                    </td>
                    <td width="75%" height="20">
                        <asp:RadioButtonList ID="xm2" runat="server" CssClass="tbinput" RepeatColumns="2"
                            Width="100px">
                            <asp:ListItem Value="男" Selected="True">男</asp:ListItem>
                            <asp:ListItem Value="女">女</asp:ListItem>
                        </asp:RadioButtonList>
                    </td>
                    <td>
                    </td>
                </tr>
                <tr>
                    <td width="25%" height="20" class="tdlabel">
                        电话:
                    </td>
                    <td width="75%">
                        <asp:TextBox ID="xm3" runat="server" CssClass="tbinput"></asp:TextBox>
                    </td>
                    <td>
                    </td>
                </tr>
            </table>
        </div>
        </form>
    </body>
    </html>
    

    第四步:配置好demo.css

    .hr1
    {
    	width: 100%;
    	height: 1px;
    	background-color: green;
    }
    .btnone
    {
    	font-size: 9pt;
    	color: black;
    	font-family: 宋体, Arial;
    	text-align: center;
    }
    .tbinput
    {
    	border-right: buttonface 1px solid;
    	border-top: buttonface 1px solid;
    	font-size: 9pt;
    	border-left: buttonface 1px solid;
    	width: 100%;
    	color: black;
    	border-bottom: buttonface 1px solid;
    	font-style: normal;
    	font-family: 宋体, Arial;
    	font-variant: normal;
    	text-decoration: none;
    	border-color: #93BEE2 #93BEE2 #93BEE2 #93BEE2 ; 
            border: 1px #93BEE2 solid; 	
    }
    .spanerror
    {
    	font-size: 9pt;
    	color: red;
    	font-family: 宋体, Arial;
    }
    .spannone
    {
    	font-size: 9pt;
    	font-family: 宋体, Arial;
    }
    .tdright
    {
    	font-size: 9pt;
    	vertical-align: baseline;
    	overflow: hidden;
    	color: black;
    	font-family: 宋体, Arial;
    	position: static;
    	height: 14px;
    	width:100%;
    	text-align:right;
    	text-decoration: none;
    }
    .tdcenter
    {
    	font-size: 9pt;
    	vertical-align: baseline;
    	overflow: hidden;
    	color: black;
    	width:100%;
    	font-family: 宋体, Arial;
    	position: static;
    	height: 14px;
    	text-align:center;
    	text-decoration: none;
    }
    .tdleft
    {
    	font-size: 9pt;
    	vertical-align: baseline;
    	overflow: hidden;
    	width:100%;
    	color: black;
    	font-family: 宋体, Arial;
    	position: static;
    	height: 14px;
    	text-align:left;
    	text-decoration: none;
    }
    
    .dgtable
    {
    	width: 100%;	
    }
    .dgitem
    {
    	font-size: 9pt;
    	color: black;
    	font-family: 宋体;
    	height: 25px;
    }
    .dghead
    {
    	font-weight: normal;
    	font-size: 9pt;
    	overflow: visible;
    	font-family: 宋体;
    	height: 25px;
    	background-color: #5D7B9D;	
    	text-align: center;
    	text-decoration: none;
    }
    
    .dgfoot
    {
    	font-weight: bold;
    	font-size: 10pt;
    	overflow: hidden;
    	color: black;
    	font-family: 宋体;
    	height: 25px;
    	text-align: right;
    	text-decoration: none;
    }
    .divhid
    {
    	display: none;
    }
    .px12 {
    	font-family: "Verdana", "宋体", Arial;
    	font-size: 12px;
    	text-decoration: none;
    	color: #000000;
    }
    .tdlabel
    {
    	font-size: 9pt;
    	font-family: 宋体, Arial;
    	background-color:Silver;	
    	text-align:right;	
    }
    

    第五步:编写代码实现增删改查

    using System;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class test : System.Web.UI.Page
    {
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                bindgv("");
            }
        }
    
        private void bindgv(string as_where)
        {
            string ls_sql = "select dbid,xm1,xm2,xm3 from table_test "+as_where+" order by dbid";    
            DataSet ds = db.Execute(ls_sql);
            
            gv_1.DataSource = ds.Tables[0].DefaultView;
            try
            {
                gv_1.DataBind();
    
                int rc = gv_1.Rows.Count;
                for (int i = 0; i < rc; i++)
                {
                    GridViewRow e = gv_1.Rows[i];
                    if (e.RowType == DataControlRowType.DataRow)
                    {
                        e.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#bbCCFF'");
                        e.Attributes.Add("onmouseout", "this.style.backgroundColor=c;");
                        e.Attributes["style"] = "Cursor:hand";
                    }
                }
    
                if (gv_1.Rows.Count == 0)
                {
                    ds.Tables[0].Clear();
                    ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
                    gv_1.DataSource = ds;
                    gv_1.DataBind();
                    int columnCount = gv_1.Rows[0].Cells.Count;
                    gv_1.Rows[0].Cells.Clear();
                    gv_1.Rows[0].Cells.Add(new TableCell());
                    gv_1.Rows[0].Cells[0].ColumnSpan = columnCount;
                    gv_1.Rows[0].Cells[0].Text = "没有任何记录..";
                    gv_1.RowStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
                }
            }
            catch
            {
            }
        }
    
        protected void bt_add_Click(object sender, EventArgs e)
        {
            dbid.Text = "";
            xm1.Text = "";
            xm3.Text = "";
    
        }
        protected void bt_del_Click(object sender, EventArgs e)
        {
            if (dbid.Text.Equals(""))
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('请首先选择要删除的记录!');", true);
            }
            else
            {
                string ls_sql = "delete from table_test where dbid=" + dbid.Text;
                db.ExecuteNonQuery(ls_sql);
                bindgv("");
                dbid.Text = "";
                xm1.Text = "";
                xm3.Text = "";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('删除成功!');", true);
            }
        }
    
        protected void bt_save_Click(object sender, EventArgs e)
        {
            // *** 将信息更新到数据库 
            if (dbid.Text == "")
            {
                string ls_sql = "INSERT INTO table_test ( xm1,xm2,xm3 )  VALUES (  @@xm1, @@xm2, @@xm3 ); SELECT dbid FROM table_test WHERE (dbid = @@IDENTITY)";
                ls_sql = ls_sql.Replace("@@xm1", "'" + xm1.Text.ToString() + "'");
                ls_sql = ls_sql.Replace("@@xm2", "'" + xm2.SelectedValue + "'");
                ls_sql = ls_sql.Replace("@@xm3", "'" + xm3.Text.ToString() + "'");
    
                int li_ret1 = db.ExecuteReid(ls_sql);
                if (li_ret1 > 0)
                {
                    dbid.Text = li_ret1.ToString();
                }
                else
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('保存失败!');", true);
                    return;
                }
            }
            else
            {
                string ls_sql = "update table_test set xm1=@@xm1,xm2=@@xm2,xm3=@@xm3  where dbid = " + dbid.Text;
                ls_sql = ls_sql.Replace("@@xm1", "'" + xm1.Text.ToString() + "'");
                ls_sql = ls_sql.Replace("@@xm2", "'" + xm2.SelectedValue+ "'");
                ls_sql = ls_sql.Replace("@@xm3", "'" + xm3.Text.ToString() + "'");
                db.ExecuteNonQuery(ls_sql);
            }
            bindgv("");
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('保存成功!');", true);
        }
    
        protected void bt_cx_Click(object sender, EventArgs e)
        {
             bindgv(getwhere());         
        }
    
        private string getwhere()
        {
            string ls_where = "";
            if (txt_cx.Text.Equals(""))
            {
                ls_where = "";
            }
            else
            {
                ls_where = " where (xm1 like '%" + txt_cx.Text.ToString() + "%') or (xm2 like '%" + txt_cx.Text.ToString() + "%') or (xm3 like '%" + txt_cx.Text.ToString() + "%')";
            }
            return ls_where;
        }
    
        protected void gv_1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
            dbid.Text = gv_1.DataKeys[e.NewSelectedIndex].Value.ToString();
    
            // *** 注意模板模式,空格也算一个控件,所以从第二个控件取值
            xm1.Text = ((Label)(gv_1.Rows[e.NewSelectedIndex].Cells[0].Controls[1])).Text;
            xm2.SelectedValue = ((Label)(gv_1.Rows[e.NewSelectedIndex].Cells[1].Controls[1])).Text;       
            xm3.Text = ((Label)(gv_1.Rows[e.NewSelectedIndex].Cells[2].Controls[1])).Text;
            
        }
        protected void gv_1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gv_1.PageIndex = e.NewPageIndex;
            bindgv(getwhere());
        }
    }

    总结

             通过上面的代码,我们可以看出winform和webform编程基本没有什么区别,只是数据库控件一个用的是DataGridView,一个用的Gridview,不同之处就是这两个控件使用上一点不同。使用webfrom编写web程序,页面排版需要用些时间,代码基本一样。web毕竟和桌面应用程序有点不同,需要了解前端的HTML、CSS、JavaScript这些知识。WebForm开发web应用还是很容易的,不到1000行代码就搞定了增删改查。

    展开全文
  • WebForm基础

    千次阅读 2018-06-09 09:33:51
    1、WebForm的优点和缺点在一个空的web项目中添加一web窗体,他的用法和winform差不多。都是拖控件下面用一个求和的例子演示1.1先在页面上拖2个文本框一个按钮点击按钮实现求和代码 protected void Button1_Click...

               WebForm中并不是所有控件都是常用的,初学者的目的是用最短的时间学最有用的内容。工具箱中“标准”中常用的控件如下:LabelButtonLinkButtonImageButtonHyperLinkDropDownListListBoxCheckBoxRadioButtonLiteralFileUpload。很多书上讲WebForm的时候讲把大量的篇幅放到GridViewDataListDetailsViewRepeaterListView等这些数据绑定控件上,其实这些控件大同小异,只要掌握了一个控件另外一个控件很容易掌握,推荐大家学习ListViewRepeater就够了。        

    1、WebForm的优点和缺点

    在一个空的web项目中添加一web窗体,他的用法和winform差不多。都是拖控件

    下面用一个求和的例子演示

    1.1先在页面上拖2个文本框一个按钮


    点击按钮实现求和代码

            protected void Button1_Click(object sender, EventArgs e)
            {
                int i = Convert.ToInt32(TextBox1.Text);//就像winform一样直接获取控件的的值
                int j = Convert.ToInt32(TextBox2.Text);
                Label1.Text = Convert.ToString(i + j);

            }

    实现效果


    ——————————————————————————————

    通过上面的例子我们知道什么是webform

    拖几个控件,双击一下,写几行代码。这种技术我们叫WebForm

    优点:简单——拖下控件设置下属性,写个单击事件就完成了一个功能。为习惯于winform开发的程序员过度到webform傻瓜化的开发方式。

    这种技术只适合开发简单,对什么要求都不高的系统,对安全性、性能、可扩展性等要求不高,或者没有。

    但是只要有一点要求,这种webform开发的方式就不行了

    webform并没有很好的考虑到怎么进行大项目的开发。

    webform逐渐用的人少了,更多是用ASP.MVC

    webform刚开始学很心动,用后就很心痛。

    ASP.NET最佳设计模式:把aspx当做模板引擎,轻量的使用Webform

    控件。

    展开全文
  • ASP.Net WebForm的发布(图解) http://www.cnblogs.com/iflytek/archive/2013/05/20/3088811.html
  • webform 项目框架

    千次阅读 2018-03-23 10:57:03
    结合 layer bootstrap 等的一个三层简单架构 项目DEMO下载地址:https://pan.baidu.com/s/1V11daZ-0bz484vJqCm3V0g
  • Winform和WebForm的异同

    千次阅读 2011-01-16 20:46:00
    Winform和WebForm的一些比较,纯属个人观点.
  • Webform 常用控件

    千次阅读 2018-06-06 18:10:19
    Webform 常用控件一,简单控件1,Lable——标签:在网页中呈现出来的时候会变成span标签属性:Text——标签上的文字 BackColor,ForeColor——背景色,前景色 Font——字体 Bold-加粗 Italic-倾斜 UnderLine-...
  • WebForm 基础学习

    2019-11-17 23:10:23
    C/S 客户端应用程序(Client/Server) 客户端——服务器端 两种技术 WinForm WPF ...
  • Web表单

    千次阅读 2017-12-18 18:32:36
    pip install flask-wtf ... 4.1 跨站请求伪造保护  默认情况下,Flask-WTF能保护所有表单免受跨站请求伪造(Cross-Site Request Forgery,CSRF)的攻击。恶意网站把请求发送到被攻击者已登录的其他网站时就会引发CSRF攻击...
  • 【知识笔记】WebForm

    2019-06-25 18:00:49
    一、ashx介绍以及ashx文件与aspx文件之间的区别  ashx是什么文件? .ashx 文件用于写web handler的。 .ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的...
  • asp.net 的 web form 过时了吗?

    千次阅读 2018-05-16 21:41:21
    web form 其实是一个超前的设计。每个厂商都希望服务器端和客户端采用同样的语言编程,这是为了商业利益考虑,如果能实现,对程序员来说,也是一个福音。sun 在服务器端有 java,在客户端就做了 javascript,但...
  • 修改Webform模块

    2019-09-18 14:30:38
    <p>I need some help modifying the <a href="http://drupal.org/project/webform" rel="nofollow noreferrer">Webform Module</a> so that it can work for my project. I use Webform right now for single page, ...
  • 微软技术系列(WebForm)

    千次阅读 2012-09-26 20:19:02
    在桌面程序和BS应用程序比较来看,无论是开发速度还是用户体验来说,都是桌面程序要有优势.由于BS程序的特性,使得在开发BS程序时可使用的资源非常有限...微软的WebForm就是这样一种尝试,而且取得了一定的成功。Webfor
  • 解析ASP.NET WebForm和Mvc开发的区别

    万次阅读 多人点赞 2013-12-29 02:03:19
    因为以前主要是做WebFrom开发,对MVC开发并没有太深入的了解。自从来到创新工场的新团队后,用的技术都是自己以前没有接触过的,比如:MVC 和EF还有就是WCF,压力一直很大。在很多问题都是不清楚的情况下,问周围的...
  • log4net使用方法(WebForm

    千次阅读 2017-11-19 10:44:19
  • WebForm 使用log4net

    千次阅读 2018-03-21 22:07:22
    1》 新建一个webForm应用程序, 2》在项目中引用log4net.dll 3》在项目中添加一个名字为log4net.config的配置文件 下面我们开始配置log4net.config&lt;configuration&gt; &lt;configSections&gt;...
  • asp.net WebForm 事件响应模型

    千次阅读 2016-03-29 14:48:29
    当我们新建一个ASP.NET的应用程序时,会默认生成一个Default.aspx和Default.aspx.cs页面。 在Default.aspx的页面中第一行是一条页面指令: t" %> 其中CodeBehind属性指定代码隐藏页面的名称,Inherits指定所属的...
  • 基于WebForm的操作Word文档实例

    千次阅读 2009-06-21 00:01:00
    http://www.xon.cn/Programs/net/2005/08/23/11247891912410.html http://www.enet.com.cn/article/2004/0212/A20040212285330.shtml http://www.baidu.com/s?wd=%D4%DAASP.NET%D6%D0%CA%B9%D3%C3Microsoft+Word%CE%
  • 在 ASP.NET WebForm中使用 Route

    千次阅读 2017-03-30 23:14:23
    使用过ASP.NET MVC的同学可能对Route已经有些接触,在ASP.NET WebForm中为实现类似的功能也许会使用URL Rewrite。本文将介绍在ASP.NET WebForm中使用Route。1.找到Global.asax文件,如果没有这个文件就新建一个。2....
1 2 3 4 5 ... 20
收藏数 39,019
精华内容 15,607
关键字:

webform