CS1061:'ASP.station_pages_stationfield_aspx'不包含'resizeIframe'的定义

时间:2013-03-28 06:18:49

标签: c# javascript asp.net

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

1 个答案:

答案 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"
    />