问题标签 [postback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - 隐藏的输入字段会导致潜在危险的 Request.Form 值错误
在我的 ASP.NET 1.1 应用程序中,我正在压缩并用另一个压缩值替换隐藏的 Viewstate 变量,该值存储在一个名为 __VSTATE 的隐藏字段中。这很好用,但在少数情况下,提交页面会导致常见的“潜在危险的 Request.Form 值...”错误。
我检查了 __VSTATE 值,似乎没有任何危险。我能够使用完全精简的页面版本和 __VSTATE 值重现错误,如下所示。按下提交按钮会导致错误。如果我将值更改为“”,页面工作正常。
将字段名称更改为“MyHiddenWT”没有任何区别。删除 runat="server" 确实停止了错误,但这仅意味着 .NET 仅检查服务器端控件。我还尝试了一些附加值,并发现了以下值:
"Onw=" 是唯一导致问题的原因。大写的 O 是否以某种方式被视为八进制值?
有人可以解释为什么这个值会触发错误消息吗?我也在寻找解决方案,但请不要告诉我删除页面验证。这就像说一辆刹车不好的汽车可以通过不开车来修理一样。
先感谢您。
c# - GridView RowDataBound 在回发时不会触发
在 ASP.NET 页面上,我有一个填充了 LINQ 查询结果的 GridView。我在代码中设置 DataSource,然后在其上调用 DataBind。在 GridView 的 RowDataBound 事件中,我根据查询结果有选择地隐藏了某些 GridView 字段中的链接。(例如,我隐藏了相关行的“显示父级”链接没有父行。)
这最初工作正常。但是在回发时(当我不调用 DataBind,但 GridView 仍然通过 ViewState 填充时),数据会显示,但 RowDataBound 事件(显然)不会触发,并且我的链接不会被隐藏。
回发后隐藏链接的最佳方法是什么?
asp.net - 在 ASP.Net Postback 之后维护 JavaScript 代码。
正如标题所示,我无法在回发时维护我的代码。我在 Head 部分有一堆 jQuery 代码,它工作正常,直到发生回发,之后它停止运行!
我怎样才能解决这个问题?回发时不会读取头部,有没有办法可以强制这种情况发生?
JavaScript 是:
c# - “页面”之后的客户端渲染问题。来电
我试过,'PreviousPage','PreviousPage.IsCrossPagePostBack''Page.previousPage',page.title
它会导致客户端在此行之后停止呈现页面。
简单的例子
有人请,有什么想法吗?
c# - DropdownList.selectedIndex 始终为 0(是的,我确实有!isPostBack)
(向下滚动到帖子底部以找到解决方案。)
得到一个包含 Datalist 的 asp.net 页面。在这个数据列表中,有一个包含下拉列表的模板,每次数据列表填充一个项目时,都会调用一个 ItemCreatedCommand。itemCreatedCommand 负责对下拉列表进行数据绑定。
我认为问题出在此处,我正在使用 ItemCreatedCommand 来填充它 - 但奇怪的是,如果我选择“绿色”颜色,页面将自动回发,我会看到下拉菜单仍然是绿色,但是当尝试使用它的 SelectedIndex 时,我总是得到 0...
我已经缩小了查看代码的范围,但您仍然可以看到我正在尝试做的事情:) 我这样做的原因,而不是直接在 aspx-page 上声明颜色的数据源,是我需要运行一个测试 if(showColors),但我不想用我认为应该在代码隐藏文件中的代码弄乱 html 页面。
编辑:在尝试更改 SelectedIndexChange 之后 - 我现在脑子里有一个“逻辑”混乱 - 我如何更改数据列表中的元素?因为,据我所知 - 我没有任何方法可以检查这个特定下拉列表属于数据列表中的哪些项目......或者?我将尝试几种方法,看看我最终会得到什么;)但是请发表你对这个问题的想法:)
解决方案:
要么将事件冒泡到 ItemCommand,要么处理事件,获取发送者父级(这是一个 datalistItem 并在其中操作元素。
asp.net - 创建自定义服务器控件以接受用户输入
我正在尝试构建一个服务器控件,根据“QuestionTypeId”显示文本框、日期选择器或是-否单选按钮。
我的控件显示了我想要的方式,但是当在表单上按下提交按钮时,在 RenderContents 方法中生成的文本框、日期选择器或单选按钮都为空。
我试图将生成的控件存储在视图状态中,这阻止了它们为空,但没有存储用户输入。
如果需要,我会发布代码。问一下。
asp.net - 检查页面是否处于部分呈现模式 ASP.NET 2.0 + AJAX.NET
我需要确定页面是否以部分呈现模式加载(从 UpdatePanel 中回发时)。
有什么建议么?
asp.net - ASP.NET 应用程序通过防火墙表现出奇怪的行为
由于您的建议,此问题已得到解决。详情见底部。非常感谢您的帮助!
我们的 ASP.NET 网站可从多个特定且高度安全的国际位置访问。它一直运行良好,但我们添加了另一个客户端位置,该位置表现出非常奇怪的行为。
特别是,当用户输入搜索条件并单击搜索按钮时,结果列表返回空。它甚至不显示“返回的 0 个结果”文本,因此就像 Repeater 控件根本没有绑定一样。类似的行为出现在网站的其他部分(但不是全部)中。用户可以正常登录网站并显示他们的个人资料信息。
我已经使用与他们完全相同的凭据在本地登录了该站点,并且该站点从这里运行良好。我们已经仔细完成了这些步骤,所以我相信这不是用户问题。
我在第一次加载时将搜索结果绑定在搜索结果页面的Page_Load中(条件在查询字符串中)。IE
通过注释掉 BindResults() 方法调用,我可以在本地复制完全相同的行为。
有人知道 IsPostBack 的值是如何计算的吗?他们高度安全的防火墙设置是否有可能导致 IsPostBack 始终返回 true,即使它是来自另一个页面的重定向?这可能是一个转移注意力的问题,因为问题可能出在其他地方。它确实复制了结果。
我无法访问该站点,因此故障排除仅限于向他们提供说明并要求他们告诉我结果。
谢谢你的时间!
附加信息:客户端位于运行默认规则的 Microsoft ISA 2006 防火墙后面。该站点已添加到 Internet Explorer 受信任站点列表中,并在 FireFox 和 Google Chrome 中进行了尝试,所有结果都相同。
解决方案:对我来说,获胜者是使用 Fiddler 的建议。多么出色的工具,任何 Web 开发人员都不应该没有。使用它,我能够从请求中删除各种标头,直到我重现问题为止。实际上有两个因素导致了这个错误,就像这种令人困惑的问题经常发生的情况一样。
因素一——Web 应用程序尽可能使用所有主流浏览器都支持的 GZIP 压缩。防火墙正在剥离指定 GZIP 解压缩支持的标头(Accept-Encoding: gzip, deflate)。
因素二——我的代码中的一个错误意味着在发送未压缩的内容时绕过了某些处理。这个问题之前没有注意到,因为该应用程序被有限的受众使用,所有这些应用程序都支持 GZIP 解压缩。
c# - 可以为 GridView CommandField 设置 PostbackUrl 吗?
我的页面上有一个 GridView 控件,我为其定义了许多 BoundFields。数据绑定的 GridView 的每一行都有一个 CommandField (Select),我想为此将 PostBack 发送到新页面。
当然,我可以轻松地在 QueryString 中发送 NewSelectedIndex,但我宁愿对用户隐藏该信息。建议?
asp.net - ASP.NET 中的 Session 中真正存储了什么?
我们正在尝试决定如何处理跨回发的对象持久性,以避免在每个请求中从数据库中获取数据,并且我倾向于使用 Session(它是一个 Intranet 应用程序,不会有成千上万的用户),但是这是因为我怀疑只有对真实对象的引用存储在那里......
如果这是真的,有人知道事实吗?
我一直被教导不要过度使用会话对象,但如果它以这种方式工作,那真的不是一个大问题......
真正存储在会话中的内容:
实际的序列化对象,还是它的引用?