2012-12-19 19 views
15

具有文化的MVC页面取决于用户。在搜索选项中(搜索可以通过DueDate完成),我需要在该DueDate文本框中有一个掩码。面具必须依赖于用户的文化。在js和cshtml都有错误说:mask.split is not a function。将我的jquery.maskedinput-1.2.3.jsmake.split更改为make.toString().split并且错误消失,但必须如下所示:[object Object]或有一些01数字。任何想法?在cshtml代码如下所示:需要具有日期掩码取决于jquery中的文化

<script type="text/javascript"> 
    $(function() { 
     var maskFormat = @Html.CurrentDateMask(); 
     $(".DateBox").mask(maskFormat); 
    }); 
    </script> 
+3

'@ Html.CurrentDateMask()'返回什么?我想你想它作为一个字符串:'var maskFormat =“@ Html.CurrentDateMask();”;'创建一个Javascript字符串。 – voigtan

+0

它确实返回一个字符串 - 是的 - 它有助于:)非常感谢你:)其他问题呢 - 完全可以在js中完成 - 不需要任何外部帮助?我有一个js共同为不同的页面,而不是改变页面 - 我想改变那个js ... – agmawe

回答

1

你可以有maskFormat作为一个全局变量(把它放在窗口对象),然后将其指window.maskFormat您的JS文件中:

CSHTML文件:

(function() { 
    window.maskFormat = "@Html.CurrentDateMask();"; 
})(); 

,并在你的JavaScript文件:

$(function(){ 
    $(".DateBox").mask(window.maskFormat); 
}); 

但小心不要添加许多全局变量或易于覆盖的名称

+0

非常感谢你:) – agmawe