我的目标是刷新包含交互式世界地图的部分视图。 我有一个控制器动作
public JavaScriptResult DynMap(int id, List<int> relevantCountries = null){}
将地图数据返回为JavaScriptResult
。
我使用
在我的部分视图“MapSite”中调用此Javascript<script src="/JS/DynMap/@ViewBag.GameRoomID"></script>
部分视图“MapSite”
public ActionResult MapSite(int id)
{
ViewBag.GameRoomID = id;
return PartialView("MapSite");
}
会像这样呈现在我的主页面中:
<td id="map">
@{Html.RenderAction("MapSite", "JS");}
</td>
完美无缺!
但是如果我想在运行时再次渲染MapSite(使用新值):$('#map').load('/JS/MapSite/4')
(4是静态的测试),Partial View没有DynMap Javascript。
这是一个错误吗?是不是可以通过这种方式加载外部Javascript“直播”? 它甚至命中Controller DynMap方法内的断点,但是映射为空,因为缺少DynMap值。
答案 0 :(得分:1)
我发现我的方法工作得非常好! 在我的特定情况下,问题是在html页面本身之后加载了Javascript内容。所以Javascript中的window.onload()无法执行,之后我只能手动执行。