2012-12-19 32 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