如何在操作后或从视图中调用javascript方法?

时间:2010-02-12 10:00:48

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

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

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

我只是试图调用“RunOnceRoutines;”但它没有被召唤!

2个问题:我们如何从服务器调用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>

1 个答案:

答案 0 :(得分:1)

在我看来,就像你有语法错误导致js在进入该函数调用之前中断。你检查过调试输出了吗? FirebugFireFox插件非常适合此

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