【发布时间】:2012-12-30 17:37:19
【问题描述】:
如果 T4MVC 不能扩展到外部 JavaScript 文件,我想找到管理“魔术字符串”的最佳方法,例如 JQuery .load() 方法中的 Controller/Action 值。
我想将更改 Action 以在应用程序中引发错误的风险降至最低。我知道我可以使用 Visual Studio 编译视图来查找客户端错误,但不能在 JS 外部文件中。
我发现了一些解决方案,例如将 View 作为 javascript 文件类型包含在内,这样我就可以使用 T4MVC 并检测 Views 编译错误,但是这种方法会使服务器产生不必要的请求,如果是 JS,它将被缓存在客户端。
我正在考虑一个常量 JS 文件,或者在极限情况下,一个带有 T4MVC 参数方法的常量 View 文件。
有更好的主意吗?
我在这里留下一个样本:
<script type="text/javascript">
$(function () {
$('#Category_Id')
.cascade(
{
url: '@Url.Action(MVC.Ad.ListCategoryTypeByCategory())',
paramName: '@MVC.Ad.ListCategoryTypeByCategoryParams.categoryId',
firstOption: '@HeelpResources.DropdownlistCategoryTypeFirstRecord',
childSelect: $('#CategoryType_Id')
})
.cascade(
{
url: '@Url.Action(MVC.Ad.ListMakeByCategory())',
paramName: '@MVC.Ad.ListMakeByCategoryParams.categoryId',
firstOption: '@HeelpResources.DropdownlistMakeFirstRecord',
childSelect: $('#Make_Id')
});
$('#Make_Id').cascade({
url: '@Url.Action(MVC.Ad.ListModelByMake())',
paramName: '@MVC.Ad.ListModelByMakeParams.makeId',
firstOption: '@HeelpResources.DropdownlistModelFirstRecord',
childSelect: $('#Model_Id')
});
});
</script>
如果我想将此代码放在 JS 外部文件中,如何避免“魔术字符串”?
谢谢。
【问题讨论】:
-
您能否包含代码示例以更清楚地说明您想要实现的目标?
-
嗨,我刚刚放了一个示例来解释我想要实现的目标。谢谢。
标签: javascript asp.net-mvc asp.net-mvc-4 views t4mvc