- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
开始之前,我已经看过this question about a very similar topic (以及 this one 和 this one ),没有一个能完全回答我的问题。我已经理解这些问题/答案中提出的概念,但我还有更多问题。
A) 如果您有多个带有 AutoPostBack="false"
的控件并且您在回发之前更改了其中的一些控件,会发生什么情况?以下面的简短示例为例(假设页面所需的所有其他内容都已正确且简单地编写;例如,Page_Load
):
默认.aspx:
<asp:DropDownList ID="ddlFoo" runat="server"
OnSelectedIndexChanged="ddlFoo_Changed" AutoPostBack="false" >
<asp:ListItem Text="a" />
<asp:ListItem Text="b" />
<asp:ListItem Text="c" />
</asp:DropDownList>
<asp:DropDownList ID="ddlBar" runat="server"
OnSelectedIndexChanged="ddlBar_Changed" AutoPostBack="false" >
<asp:ListItem Text="1" />
<asp:ListItem Text="2" />
<asp:ListItem Text="3" />
</asp:DropDownList>
<asp:Button ID="btnQux" runat="sever" Text="Click for PostBack" OnClick="btnQux_Click"
Default.aspx.cs:
protected void ddlFoo_Changed(object sender, EventArgs e)
{
Response.Write("ddlFoo changed to " + ddlFoo.Text + ". ");
}
protected void ddlBar_Changed(object sender, EventArgs e)
{
Response.Write("ddlBar changed to " + ddlBar.Text + ". ");
}
protected void btnQux_Changed(object sender, EventArgs e) { }
现在,假设您将 ddlFoo
更改为 3
,然后将 ddlBar
更改为 b
。然后,您单击 btnQux
。单击后,您会从 Response.Write
获得以下输出:
ddlBar changed to b. ddlFoo changed to 3.
为什么会这样? OnSelectedIndexChanged
方法是否被放入堆栈中以便在回发发生时调用?
B) 当我使用这种方法并为我的大部分控件设置 AutoPostBack="false"
时,为什么我的网页加载速度更快?具体来说,我这样做是为了
、
CheckBoxDropDownList
和 GridView
中的 TextBox
,它检索了约 1200 行和 27 列的数据,耗时 10 秒在 VS2008 Debug模式下与之前的 310s 相比。为什么加载/刷新时间会快得多?
编辑:我今天下午早些时候发布了代码,旧的 (AutoPostBack="true"
) 和新的 ( AutoPostBack="false"
) 版本。我认为调试器可能做了一些额外的事情,导致加载时间大幅增加。改写问题 B) 的更好方法可能是:调试器可能一直在做什么导致加载时间出现如此大的跳跃?
最佳答案
警告:我不是 ASP.NET 专家...如果结果是垃圾,我会删除它:)
A) 我相信只要回发结束,您就会看到所有控件的新值,包括所有更改事件,正如您所描述的那样。毕竟这些值已经改变了——AutoPostBack
只会影响时间(当然还有回发是否发生)。
B) 在所有控件上随 AutoPostBack = True
提供的 HTML 中有更多的 Javascript,但不足以产生巨大的差异。正如您在编辑中指出的那样,无论如何这看起来都是一个暂时性问题 - 如果没有更多诊断,我们无法真正解释暂时性问题。
关于c# - AutoPostBack:真与假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17978805/
AutoPostBack=True 和 AutoPostBack=False 有什么区别? 最佳答案 取自 http://www.dotnetspider.com/resources/189-Auto
开始之前,我已经看过this question about a very similar topic (以及 this one 和 this one ),没有一个能完全回答我的问题。我已经理解这些问题
我有一个页面,当发生自动或部分回发时,焦点设置到地址栏而不是下一个控件。有趣的是,当我在我的 RadScriptBlock 中放置一个警报时,在单击“确定”之后,焦点会转到正确的控件 - 或者 - 如
我有 3 select输入 form , 代表日期。一个是日,一个是月,一个是年。 这些选择的选项是通过使用 javascript 添加的:例如,如果选择的年份可以被 4 整除并且月份是二月,那么一天
我想在 asp:DropDownList 中选择特定值时显示确认对话框。如果确认对话框返回 false(取消),那么我想阻止 AutoPostBack。 但是,它会忽略 foo() 的返回值并实际执
我有一个 asp.net 页面,上面有许多控件,包括: 带有 autopostback = true 和服务器端 textchanged 事件实现的文本框 实现了服务器端点击事件的按钮 一旦用户离开控
在一个简单的 ASP 页面中,TextBox AutoPostBack 事件将阻止按钮单击事件(除非按钮被快速点击)和其他控件(如 ListBox)的 AutoPostBack 事件。 这里有一个类似
我们在带有 AutoPostBack="true" 的 UpdatePanel 中有两个复选框 单击这些复选框时,将触发 CheckedChanged 事件。一切顺利。 现在,我们有另一个作用于相
我正在构建一个页面,其中包含页面上的一些静态组件(下拉列表、按钮、用于容纳它们的表格),但是一个表格单元格充满了可变生成的复选框。按下按钮时,页面代码会计算要放置的复选框并为每个需要的复选框创建一个新
我有一个带有两个下拉列表的 WebForm,其中第二个的内容取决于第一个。 因此,如果用户更改类别,则第二个下拉列表需要填写子类别列表。 这听起来像是 AutoPostBack 的典型工作。 但是,A
搜索后,我发现了许多建议,但没有一个能解决问题。 在属性窗口中,TextBox (Suggested here) 的 EnableViewState = True。我在 TextBox 中输入一个新
一个 TextBox设置为 AutoPostback因为更改值会导致重新计算和显示许多(仅显示)字段。 这很好用。 但是,当该字段被移出时,焦点会短暂移动到下一个字段,然后在重新绘制页面时消失,因此任
在 jQuery 中,有什么方法可以区分回发下拉列表和非回发下拉列表(ASP.NET 3.5): $('select').change(function(e) { //somethin
我有这段代码可以与用户检查是否可以离开页面而不保存: window.onbeforeunload = !isPostBack && confirmExit; function isPostBack(
我想做this但在 ASP.NET 中。我该如何在 asp.net/背后的代码中编写这个?我已经有了 protected void chkBox_CheckedChanged(object sende
我下载了一个名为“Gentelella-Master Admin”的模板,用于我的 asp.net 应用程序。情况就像我有一个启用了自动回发的下拉列表,当它不活动时,隐藏的 div 会折叠到下拉列表中
是否可以在没有 AutoPostBack=True 的情况下强制下拉列表触发 OnSelectedIndexChanged 事件? 我之所以这么说,是因为我的表单中有一些 RadComboBoxes(
花了一天时间寻找解决方案。但没有成功。我只是想为我的学生创建一个百分比计算表。这是我的 .aspx 代码 $(document).ready(function
因为我什至无法描述问题,所以我不知道如何放置标题,这就是问题所在.. (这只是简单的问题) 假设我有两个复选框设置为 AutoPostBack=True protected void cbPop_Ch
有人可以建议...我无法弄清楚为什么在我更改 ddl 的索引后自动回发不会发生。 请告知我缺少什么?这是标记: 最佳答案 AutoPostBack 对我有用,但您可能想尝试设置 CausesVali
我是一名优秀的程序员,十分优秀!