1

我正在调用简单的 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?)
4

1 回答 1

2

其由于runat="server"

它没有在客户端 [Javascript 函数] 找到函数,但它试图在服务器端 [在 .cs 页面上] 找到它。

这就是为什么会出现错误。

在代码隐藏中试试这个东西>>

frameDayLeft.Attributes.Add("onload", " resizeIframe(this)");

这样做>>

<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"
    />
于 2013-03-28T06:21:53.460 回答