ari*_*ari 4 asp.net viewstate postback page-lifecycle
这是简单的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txt.Text = "Original";
}
}
Run Code Online (Sandbox Code Playgroud)
第一次加载.文本框状态为"原始".
手动,将值更改为"不原始".
按F5.这条线:
txt.Text ="原创";
执行但输入值仍为"非原始"
但是,当我点击进入地址栏时.该值更改为"原始".
更多starnge是当地址在末尾包含'#'时(使用jquery click ...)
然后,即使我点击了地址栏,价值 仍为"非原创"
Rex*_*x M 12
刷新(F5)ASP.NET页面时,它将重复执行的最后一个操作.因此,在您的情况下,如果您做的最后一件事是更改文本框值,则刷新将再次将文本框设置为该值.
但是,在地址栏中点击"输入"会指示您的浏览器丢弃所有内容并完全转到新页面.
"回传"是指您所提交(发帖)的页面回自己.第一次加载页面时,IsPostBack是错误的,因为您只是在请求页面 - 而不是提交任何内容.但是,您在ASP.NET页面上执行的每个操作 - 一旦您在那里 - 就会将隐藏的表单提交到同一页面.IsPostBack适用于后续请求.
最后,当地址栏中有"#"时,点击该URL上的输入将不会导致页面重新加载.这是因为#表示锚.如果您已经在"页面x"并尝试导航到"页面x#something",则页面将不会重新加载 - 它将保持在浏览器中,最多跳转到锚点,但不会重新加载.
| 归档时间: |
|
| 查看次数: |
8617 次 |
| 最近记录: |