2013-09-27 95 views
5

我有一個屬性爲Guid類型的視圖模型。我需要將其分配給JavaScript對象屬性,並將該對象發佈到某個操作方法。如何在asp.net mvc中使用razor viewmodel將c#guid值分配給javascript變量?

當我寫(在JavaScript):

var partyId = @Model.Id; // "Id" is of Guid type 

我得到

var partyId = 6abbf77d-ba28-4d8a-87ff-2fa8f8a070c9; 
// Uncaught SyntaxError: Unexpected identifier 

我該如何處理呢?我的意思是分配Id值到JavaScript變量。

+3

如果將@ Model.Id放在單引號內會發生什麼? –

+0

發表您的回答,我會接受它,因爲你是第一個 –

回答

6

用引號括起@ Model.Id。

2

用引號括起來嗎?

var partyId = '@Model.Id'; 
3

你的JavaScript輸出最終將是一個字符串,所以它會格式化爲這樣使用引號:

var partyId = '6abbf77d-ba28-4d8a-87ff-2fa8f8a070c9'; 

您當前的段缺少這一點,只是呈現的原始值。

我不知道任何GUID 類型在JavaScript之間解析它,但如果這就是你想要的。

3

您可以用單引號或雙引號括起模型。您可能會收到奇怪的解析錯誤,但您通常可以通過將圓括號包含vb/c#代碼來擺脫它們。

var partyId = '@(Model.Id)'; 
相關問題