我正在调用简单的JavaScript方法,并且不知道为什么会出现此错误
<iframe height="100px;" onload="resizeIframe(this)" runat="server" id="frameDayLeft"
scrolling="no" style="border: none; width: 250px" frameborder="0"></iframe>
这是详细错误:
Compiler Error Message: CS1061: 'ASP.station_pages_stationfield_aspx' does not contain a definition for 'resizeIframe' and no extension method 'resizeIframe' accepting a first argument of type 'ASP.station_pages_stationfield_aspx' could be found (are you missing a using directive or an assembly reference?)
答案 0 :(得分:2)
由于runat="server"
。
它在客户端找不到功能[Javascript功能],但它试图在服务器端[在.cs页面]找到它。
这就是为什么会出现错误。
在codebehind&gt;&gt;
中试试这个frameDayLeft.Attributes.Add("onload", " resizeIframe(this)");
请执行此操作&gt;&gt;
<script runat="server">
void contentFrame_onLoadServer(object sender, EventArgs e)
{
if (!IsPostBack)
contentFrame.Attributes.Add("onLoad", "contentFrame_onLoadClient();");
}
</script>
<script type="text/javascript">
function contentFrame_onLoadClient() {
resizeFrame(document.getElementById('<%=contentFrame.ClientID %>'));
}
function resizeFrame(element) {
alert(element); // do your logic here
}
</script>
<iframe
runat="server"
id='contentFrame'
name='contentFrame'
width="500"
onload="contentFrame_onLoadServer"
/>