簡體   English   中英

Razor C#中的JavaScript調用

[英]JavaScript call in Razor C#

我試圖在Razor的幫助器方法中調用javascript函數。 我的代碼看起來像這樣:

@helper MyMethod() 
{
     for (int i = 0; i < 5; i++)
     {
          drawMe(i)
     }
}

drawMe函數在正確包含的外部js文件中聲明。 我嘗試使用Html.Raw將其圍繞在標簽周圍,但到目前為止沒有任何效果。 任何幫助將不勝感激。

謝謝

如果要執行這樣的javascript,則需要將其包裝在script標簽中。 在下面的示例中,您的助手將腳本標記輸出到頁面,而javascript是for循環。 但是,這對您不起作用的原因可能是其他原因。 當您輸出這樣的腳本時,瀏覽器一旦在DOM中檢測到它,便立即執行它。 但是,您的外部文件可能尚未加載。

@helper MyMethod() 
{
    <script type="text/javascript">

         for (var i = 0; i < 5; i++)
         {
              drawMe(i);
         }

     </script>
}

為了安全起見,您可能要推遲執行JavaScript,直到頁面完成所有腳本的加載為止:

@helper MyMethod() 
{
    <script type="text/javascript">

        window.onload = function()
        {
            for (var i = 0; i < 5; i++)
            {
                 drawMe(i);
            }
        }


     </script>
}
@helper MyMethod() 
{
     for (int i = 0; i < 5; i++)
     {
          <text><script type="text/javascript">drawMe(@i)</script></text>
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM