- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 <asp:UpdatePanel>
的表单和 2 <asp:button>
控件来保存和重置表单。我正在触发 <asp:UpdatePanel>
使用 javascript __doPostBack()
函数并在其中传递一个值 __EVENTARGUMENT
如果面板应该重置。
我的代码隐藏通过以下方式检查 PreRender 上的值
Request.Params.Get("__EVENTARGUMENT")
确定是否使用原始数据重置表单。
如果面板之前已重置,则 __EVENTARGUMENT
按下保存按钮时似乎会逗留,因此在回发时再次重置我的表单。
我试图清除 __EVENTARGUMENT
在Page_Load
使用:
Request.Params.Clear();
和
Request.Params.Set("__EVENTARGUMENT", "");
但集合是只读的。我在另一篇文章中发现,使用 javascript:
window.document.getElementById('__EVENTARGUMENT').value = '';
但这似乎也不起作用。有什么想法吗?
最佳答案
刚想通了。
解决方案
__EVENTARGUMENT
可以通过以下方式简单地清除:
theForm.__EVENTARGUMENT.value = '';
如果有必要在每次 <asp:UpdatePanel>
时执行此操作加载,然后将以下内容放入您的 UpdatePanel:
<script type="text/javascript">
Sys.Application.add_load(function () {
theForm.__EVENTARGUMENT.value = '';
});
</script>
原因:
大多数 .Net 控件使用 javascript __doPostBack
函数来处理回传,因此在生成页面时会自动添加以下代码:
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form'];
if (!theForm) {
theForm = document.form;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
这是为 __EVENTARGUMENT
设置值的位置,因此从代码隐藏中引用了什么。
关于c# - 清除 __eventArgument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11985250/
这可能是一个基本问题。我知道 __doPostback() 函数接受 2 个参数,eventtarget 和 eventargs。 eventtarget 用于标识引起回发的控件。那么__doPost
我有一个带有 的表单和 2 控件来保存和重置表单。我正在触发 使用 javascript __doPostBack()函数并在其中传递一个值 __EVENTARGUMENT如果面板应该重置。 我的代
我看到这样的代码: if (this.Request["__EVENTARGUMENT"] == "Flag") //DoSomthing... __EVENTARGUMENT 是什么意思,是否
我正在努力取得成功POST使用 ASP.NET 到 ASPX ( cURL ) 页面(外部站点) . 因为我不太关心页面的外观(这一切都在服务器端完成),所以我没有发送任何参数__VIEWSTATE
伙计们...,我在网站上工作,该网站有 2 个名为“__EVENTTARGET”和“__EVENTARGUMENT”的输入,是否有可能使用 VBA 找出传递给它的值?因为它还有一个名为“aspnetF
在 ASP.NET 链接按钮中 - ' Text="Delete"/> __doPostBack 函数总是会生成吗?如果是这样,我如何覆盖它并手动将 Comman
我正在尝试通过 jQuery 触发表单提交,并触发特定的服务器端事件。 客户端代码: $("input[name=__EVENTARGUMENT]").val("SomeArg"); form = $
针对我们的一个 ASP.net 应用程序进行了安全审查,并在测试结果中返回了一个被认为是高风险项目的 SQL 注入(inject)暴露。 执行的测试通过了 SQL 语句作为 __EVENTTARGET
我是一名优秀的程序员,十分优秀!