从 ASP.NET MVC 局部视图中调用 JavaScript

Call JavaScript from within an ASP.NET MVC Partial View

我创建了一个 ASP.NET MVC 局部视图,我通过 HTML.Action 辅助方法调用它:

@Html.Action("GetMyPartialView", "MyController", new { myParameter})

局部视图包含需要调用某些 JavaScript 的控件(外部 JavaScript 文件中的 JavaScript 库)。 如何从我的部分视图中调用此 JavaScript 代码。

我尝试在局部视图中使用脚本元素:

<script>
    MyJavaScriptFunction();
</script>

这没有用。可能当时还没有加载外部 JavaScript 文件(例如 jQuery)。

渲染局部视图后,推荐的执行 JavaScript 代码的方法是什么?

您不能在部分视图中使用 java 脚本部分。它们根本不起作用。所以在主视图中保留@section JavaScript以便注册脚本然后渲染局部视图

我也遇到过差不多的情况。我所做的是在主视图中添加 javascript。您尝试在您呼叫

的主视图中添加 javascript
 @Html.Action("GetMyPartialView", "MyController", new { myParameter})

您可以使用 ajax 调用来实现此目的。

$(document).ready(

    //Do ajax call  
        $.ajax({
        type: 'GET',
        url: "controller action url",    
        data : {                          
                  //Data need to pass as parameter                       
               },           
        dataType: 'html', //dataType - html
        success:function(result)
        {
           //Create a Div around the Partial View and fill the result
           $('#partialViewContainerDiv').html(result);                 
        }

//动作

       public ActionResult GetMyPartialView(int myParameter)    
       {    
         //return partial view instead of View   
          return PartialView("YourView", resultSet);   
        }

我刚 运行 遇到这个问题。您可以从分部视图中调用分部视图中的 javascript 函数。我创建了一个隐藏字段并定义了 onclick 事件来调用我需要调用的函数来初始化局部视图中的对话框。然后我触发了那个隐藏字段的点击事件。

部分视图中的代码:

 <input type="hidden" id="initializeDialog" onclick="initializeDialog();" />

<script>
    function initializeDialog(){
        // Do stuff
    }
</script>

包含视图中的代码:

<script>
    $('#InitializeDialog').trigger('click');
</script>