我需要将我的一个asp.net用户控件移到MVC 3中使用,但它看起来像未安装MVC以支持用户控件。如何将此asp.net用户控件转换为在MVC 3中工作
我看到帖子声称用户控件是MVC的反模式。我对这个辩论并不感兴趣,我只需要将这个用户控件移植过来,而不管那个应该放在哪一边。我不认为这是一个HTML帮手。在双引号内部放置javascript作为参数的助手会因为可读性,智能感知支持,可维护性等原因而失去任何好处。
该控件被称为ScriptCompressor。其目的是取代页面上的所有内联脚本标记。在渲染过程中,最终构成对动态页面调用的所有内联JavaScript被合并,并放置在页面底部/顶部的一个或两个脚本“包装器”中。这种控制的关键在于通过缩小和压缩所有内联脚本来减少页面大小并提高负载性能。没有视图状态涉及它只是输出脚本标记和JavaScript。
如何在MVC 3 Razor页面中调用我现有的控件?从ASP.net使用
例子:
<uc:ScriptCompressor Compress="true">
var myGlobalVar = "something";
</uc:ScriptCompressor>
<uc:ScriptCompressor Compress="true" UseReadyWrapper="true">
var _registrationViewModel = new RegisterViewModel();
...
</uc:ScriptCompressor>
<uc:ScriptCompressor Compress="true" UseReadyWrapper="true">
var _addNewUserViewModel = new AddNewUserViewModel();
...
</uc:ScriptCompressor>
未压缩输出:
<script type="text/javascript">
var myGlobalVar = "something";
$(function() {
var _registrationViewModel = new RegisterViewModel();
var _addNewUserViewModel = new AddNewUserViewModel();
});
</script>