2017-04-05 85 views
0

我有一个MainView“About.cshtml”它有一个脚本标签和一个局部视图。javascript的加载顺序

<script> 
    $(function() {} 
</script> 
<div> 
    @Html.Partial("~/Views/Maps/_MapDetailsList.cshtml", Model.saVM) 
</div> 

内部 “_MapDetailList.cshtml” 部分观点我正在引用另一个脚本ge.js

@Scripts.Render("~/Scripts/ge.js") 
<table id="MapDetails"> 
     ..... 
    <tr><th> 
    <script>setGrowthArray(1, 1);</script> 
    </th></tr> 
</table> 

ge.js

var dictionaryGrowth = new Array(); 

function setGrowthArray(colIndex, mapDetailId) { 
//making a sparse array 
dictionaryGrowth[colIndex] = mapDetailId; 
} 

现在我想给这个dictionaryGrowth阵列到页面/表格加载后的服务器端

so i的确在About.cshtml脚本以下,但因此未工作..

<script> 
    $(function() { 
    $("#MapDetails").load(function() { alert("everything seems fine");}); 
    } 
</script> 

也请告诉我会在我的情况下,脚本和DOM加载顺序。

UPDATE 大概当前序列是

  1. 脚本上About.cshtml执行
  2. ge.js执行局部视图内
  3. 的document.ready烧制
  4. javascript函数(setGrowthArray)从内部DOM被称为
  5. 现在我想打电话给我的控制器? 如果我写的window.onload = ...里面ge.js这是从来没有发射

回答

0

您也可以替换使用$.post()为​​,合格setGrowthArray(1, 1)的结果发布到服务器数据

<script> 
$.post("/path/to/server", {growth:setGrowthArray(1, 1)}, function(data) { 
    console.log(data); // response from server 
    $("#MapDetails").html(data); 
}) 
</script> 
+0

做我还需要在控制器中标记服务器端动作为[HttpPost] – Samra

+0

在服务器检查'POST'请求,其中键是''growth'' – guest271314

+0

请参阅我的更新..现在它说Uncaught ReferenceError:dictionaryGrowth没有在两个$ .post和$(document).load – Samra