gpt4 book ai didi

c# - ASP.NET 和 JavaScript 错误

转载 作者:行者123 更新时间:2023-11-28 03:01:08 24 4
gpt4 key购买 nike

我正在将项目从 ASP.NET 1.1 升级到 ASP.NET 2.0。在我的 aspx 页面中,我有一个隐藏字段,如下所示:

<input type="hidden" name="__TabControlAction" />

我有以下 JavaScript 函数:

function __tabStripPostBack(key) {
var theform;

if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];
}
else {
theform = document.Form1;
}
theform.__TabControlAction.value='Click';
theform.__TabControlKey.value=key;
theform.submit();
}

在 ASP.NET 1.1 中,此代码运行良好。但是,现在我升级到 ASP.NET 2.0,我收到“__TabControlAction 为 null 或不是对象”错误。无论出于何种原因,JavaScript 似乎无法找到隐藏字段,即使它在那里。有人有主意吗?

最佳答案

我认为表单的名称应该是“aspnetForm”,而不是“Form1”。您应该能够直接引用它,因为这段 javascript 是通过 runat="server"标记注入(inject)到每个表单上的。

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>

尝试将代码更改为:

function __tabStripPostBack(key) {
theForm.__TabControlAction.value='Click';
theForm.__TabControlKey.value=key;
theForm.submit();
}

关于c# - ASP.NET 和 JavaScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/836202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com