【问题标题】:how to call a javascript method after action or from a view?如何在操作后或从视图中调用 javascript 方法?
【发布时间】:2010-02-12 10:00:47
【问题描述】:

我只是希望能够在服务器完成它的事情之后在客户端调用 javascritp 子例程(当操作完成或控制进入视图时,我也不介意从视图调用 js) .

出于某种原因,即使 vs2010 也不允许我在 <script...> and </script> 标记区域之间的 标记区域中放置断点。由于这个原因,我无法弄清楚发生了什么以及它是如何运行的。这是我的观点,javascritp应该运行,但它没有......

我只是想调用“RunOnceRoutines;”但它没有被调用!

两个问题:我们到底如何从服务器调用 javascript 方法,以及自 vs2008 以来我听说过的所有这些可爱的 javascript 调试在哪里?找不到了!

    <%@ Control Language="VB" Inherits="System.Web.Mvc.ViewUserControl(Of FP.RatePicModel)" %>



<script type="text/javascript" language="javascript">
        var RatePicPanelRunCount = 0;

        function ChangeMainPic(newSrc) {
        $get("imgPic").src = newSrc;
        alert($get("imgPic").src + '\n' + newSrc);
        RatePicPanelRunCount++;
        }


        function UpdateGlobalVariables() {
        // Update variables...
        ShownPicID = <%=Model.CurShownPicID%>;

            <% //this shows up!
             msgbox(model.curshownpicid)
             %>

        ShownUserID = <%= Model.CurShownUserID %>;
            CurrentUserID = <%= UserID %>;
            alert('CurUserID is ' + CurrentUserID);
            alert('From cookie its ' + getCookie('UserID'));
        }

        function RunOnceRoutines() {
        if (RatePicPanelRunCount == 0) {
                ChangeMainPic('<%= Model.CurPicURL%>');
                UpdateGlobalVariables;
        };
        }

        RunOnceRoutines;


</script>


<table width="100%" cellpadding="0" cellspacing="0">
    <tr>
        <td>
            <%
                Html.RenderPartial("AddToFavs", Model.AddFavAction)
            %>

        </td>
    </tr>
</table>

【问题讨论】:

    标签: c# .net asp.net javascript asp.net-mvc


    【解决方案1】:

    在我看来,您的语法错误导致 js 在调用该函数之前就中断了。你检查过你的调试输出吗? FireFoxFirebug 插件非常适合这个

    编辑: 要在ie中启用JS调试,需要在Internet Explorer选项中进行设置。结帐this link了解详情

    【讨论】:

    • internet explorer 不返回 javascript 错误,通常是黄色感叹号,不存在,所以说 javascript 很好,没有问题。您对此有何看法?
    • 我再次检查了语法似乎没问题,除非您发现语法错误,但浏览器也说没问题。有什么想法吗?
    • 您是否尝试过查看源代码并查看呈现给客户端的代码?这会给你更多的线索。我关于语法错误的观点更多是因为你的 JS 中有几个未声明的变量。
    • 这些变量在主母版页的链中进一步声明,因此存在于同一页面中。确实查看了源代码,一切都是输出,只是没有运行我要运行的子程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多