2012-01-03 46 views
2

所以基本上我想要完成的是在我的JQuery模板中我有條件地添加html助手控件(如適用),似乎給我帶來麻煩的是正確的剃鬚刀語法來使用客戶端值$value.SomeUniqueId作爲此服務器端生成的控件的ID ...ASP.NET MVC3 Razor與Html.Helpers和JQuery模板級聯

它會工作,如果我使用靜態id作爲一個文字,就像我正在做的風格;但我想用我送入JQuery的模板內的價值和{{each items}}...{{/each}}

EG:

{{each items}} 
    {{if $value.IsAllowed }}     
    @Html.TextArea("txtSomeValue", new {style="width:80%", ID=$value.SomeUniqueId}) 
    {{/if}} 
{{/each}} 

的違規行爲:@Html.TextArea("txtSomeValue", new {style="width:80%", ID=$value.SomeUniqueId})

如果我這樣做:@Html.TextArea("txtSomeValue", new {style="width:80%", ID="someID"})... 它的工作原理...

似乎缺少明顯的串聯...

提前致謝。

+0

你混合服務器端和客戶方的代碼。 – 2012-01-03 15:19:50

+0

ID的值必須是c#表達式。 – jrummell 2012-01-03 15:20:57

+0

這就是我想要做的......剃刀之前這不是一個問題,我沒有任何問題連接服務器端和客戶端的值適用...它似乎像我堅持服務器端值或靜態值後@剃刀...我正在尋找一種方式... – user1011144 2012-01-03 15:33:07

回答

2

我想你可能需要手動,不設置此textarea的剃刀:

<textarea name="txtSomeValue" style="width:80%;">${value.SomeUniqueId}</textarea> 

編輯

對不起,你想value.SomeUniqueId是文字區域的id。這可能工作

<textarea name="txtSomeValue" id="${value.SomeUniqueId}" style="width:80%;"></textarea> 
+0

是的,我發現以前工作過,但我需要一個有條件的,動態添加的控件的唯一標識符... – user1011144 2012-01-03 15:30:19

+0

@ user1011144 - 爲什麼你需要唯一的標識符?爲了舉例,你可以在html元素 – 2012-01-03 15:32:31

+0

上省略id ...在文本框的情況下,可以有n個文本框,其中每個文本框將具有唯一的,不同的值輸入到它們中;我需要在驗證成功時發佈所有的信息。 – user1011144 2012-01-03 15:39:41

0

你應該傳遞值作爲一個字符串:

{{each items}} 
    {{if $value.IsAllowed }}     
    @Html.TextArea("txtSomeValue", new {style="width:80%", ID="$value.SomeUniqueId"}) 
    {{/if}} 
{{/each}}