作者herbacin (herbacin)
看板C_Sharp
标题[问题] 请问一下关於asp.net postback与数字累加
时间Tue Feb 23 16:45:05 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="/wEPzlw==" />
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" val
ue="A7E09E08" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/w
EdJdhKPjy" />
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.216.89.1
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1456217108.A.CB6.html
1F:→ ssccg: 因为asp.net form背後的动作就是一堆javascript做的 02/23 17:00
2F:→ ssccg: enable view state就是把view的state编码储存在__VIEWSTATE 02/23 17:01
※ 编辑: herbacin (61.216.89.1), 02/23/2016 17:14:47