Web表单:body onload事件can';找不到Javascript函数
我来自MVC背景,对web表单几乎没有经验 我已经确定了问题所在,但到目前为止我无法解决这个问题 我有一个表单,在加载表单主体时执行Javascript函数。请注意,head标记有一个run-at-server属性,因为它需要使用Web表单:body onload事件can';找不到Javascript函数,javascript,asp.net,webforms,dom-events,Javascript,Asp.net,Webforms,Dom Events,我来自MVC背景,对web表单几乎没有经验 我已经确定了问题所在,但到目前为止我无法解决这个问题 我有一个表单,在加载表单主体时执行Javascript函数。请注意,head标记有一个run-at-server属性,因为它需要使用Request.QueryString 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <sc
Request.QueryString
代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript">
function doSomething()
{
// Use web forms to do something
var foo = <%= Request.QueryString["input"] %>;
}
</script>
<title>Foo</title>
</head>
<body onload="doSomething()">
<form id="MainForm" runat="server">
<table width="272px" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="body">
...
</td>
</tr>
</table>
</form>
</body>
</html>
除了使用
body
标记的onload
属性外,您还可以在
标记中添加以下代码:
if(window.addEventListener) window.addEventListener("load", doSomething, true);
else window.onload = doSomething;
除了使用
body
标记的onload
属性外,您还可以在
标记中添加以下代码:
if(window.addEventListener) window.addEventListener("load", doSomething, true);
else window.onload = doSomething;
您可以尝试从head标记中删除
runat=“server”
。您可以发布最终标记的外观吗?此外,执行服务器端表达式不需要使用runat=“server”
。也就是说,服务器端表达式似乎没有用引号括起来。您确定输入是一个整数吗。因为如果不是,则foo
变量将是未定义的。Ash,感谢您的回复。请看编辑达林,谢谢你的回复。请查看编辑。@CodeRush,在生成的HTML中,您似乎使用了一些crmForm.queryString
变量,我看不到这些变量在任何地方都有定义。如果将doSomething
中的代码替换为警报,请将其放在HTML页面中,并在浏览器中运行,这样效果非常好。因此,您的HTML中一定还有其他未显示的内容。您可以尝试从head标记中删除runat=“server”
。您可以发布最终标记的外观吗?此外,执行服务器端表达式不需要使用runat=“server”
。也就是说,服务器端表达式似乎没有用引号括起来。您确定输入是一个整数吗。因为如果不是,则foo
变量将是未定义的。Ash,感谢您的回复。请看编辑达林,谢谢你的回复。请查看编辑。@CodeRush,在生成的HTML中,您似乎使用了一些crmForm.queryString
变量,我看不到这些变量在任何地方都有定义。如果将doSomething
中的代码替换为警报,请将其放在HTML页面中,并在浏览器中运行,这样效果非常好。所以在你的HTML中肯定还有一些你没有展示的东西。谢谢,我来试试。谢谢,我来试试。