作者herbacin (herbacin)
看板Web_Design
标题[问题] 请问一下关於asp.net postback与数字累加
时间Tue Feb 23 16:38:42 2016
最近碰一些问题, 想不清楚, 请问一下各位大大, 这是一个数字累加的页面,
每点击按钮一次会加一, 我的程式码如下
-- aspx --
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="0_Page_Load_1.aspx.cs" Inherits="Sample_Ch01" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="
http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server"><title></title></head>
<body>
<form id="form1" runat="server">
<div>
点击次数:<asp:Label ID="Label1" runat="server" Text="0">
</asp:Label>
<asp:Button ID="Button1" runat="server"
Text="Button_按下滑鼠,画面的点击次数就会累加"
onclick="Button1_Click" />
<div>
</form>
</body>
</html>
-- cs程式码 --
public partial class Sample_Ch01 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int i = Convert.ToInt32(Label1.Text) + 1;
Label1.Text = i.ToString();
}
}
碰到两个问题一直想不通, 求解 ~
1. 关於postback, 为什麽当我click button控制项(Button1)後, 他会自动submit
到server原来的页面, 这不是要javascript才做的到吗,
例如onclick="form.submit()", 请问asp.net底层是怎麽做的啊怎麽运作的?
2. 请问为什麽我将Label1设定Label1EnableViewState : true, 我每点击一次
button控制项(Button1), Label1他就会累加0,1,2,3...., 他是每次post的时
候有把目前label1.text的值送到server端吗?
这些问题跟下面自动产生出的hidden有关联吗, 是里面会带有label1.text的值吗?
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMMxu0PP0HfR+0QRzolw==" />
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="A7E09E08" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdJdhKPjy" />
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.216.89.1
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1456216724.A.A32.html
※ 编辑: herbacin (61.216.89.1), 02/23/2016 16:40:19
1F:推 pm2001: 给你关键字 "aps.net 生命周期" 02/23 17:10
※ 编辑: herbacin (61.216.89.1), 02/23/2016 17:15:25
2F:推 alandidi: 是跟ViewStatus有关没错 02/24 00:50
3F:→ alandidi: 网页Submit与Asp.Net postback稍有不同 02/24 00:50
4F:→ alandidi: 但都是与Server重新获取 02/24 00:50
5F:→ alandidi: 建议您改学DotNet MVC Framewoek 02/24 00:50