我们需要创建多个相同类型的分部 View ,但是这个分部 View 有一个javascript函数。如何避免在每个部分 View 上定义此函数?我们不想在其他地方定义这个函数。
最佳答案
我强烈建议更改解决方案以允许外部 javascript 引用。如果无法做到这一点,那么以下方法可能会起作用。首先,我假设你正在做类似的事情:
/Views/Shared/MyModelPartial1.cs/
@model MyModel
<script type="text/javascript">
var a = "@Model.SomeStringProperty";
var b = @Model.SomeNumberProperty;
</script>
<span>Some Html!</span>
/Views/Shared/MyModelPartial2.cs/
@model MyModel
<script type="text/javascript">
var a = "@Model.SomeStringProperty";
var b = @Model.SomeNumberProperty;
</script>
<div>Different Html Than 1</div>
如果您尝试在两个局部 View 之间共享此 Javascript,则创建另一个局部 View ,可能类似于:
/Views/Shared/MyModelJavascript.cs/
@model MyModel
<script type="text/javascript">
var a = "@Model.SomeStringProperty";
var b = @Model.SomeNumberProperty;
</script>
/Views/Shared/MyModelPartial1.cs/
@model MyModel
@Html.Partial("MyModelJavascript", Model)
<span>Some Html!</span>
/Views/Shared/MyModelPartial2.cs/
@model MyModel
@Html.Partial("MyModelJavascript", Model)
<div>Different Html Than 1</div>
关于javascript - MVC3 with Razor - 避免在部分 View 上定义多个 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780775/