2016-07-24 69 views
0

我正在使用MVC應用程序,我想申請一個如果條件但不工作。我錯過了一些東西。它說在字符文字jquery如果條件不適用於功能

無效表達術語{

(function() { 
     $(document).ready(function() { 
      app.applyDatatable("tblInitPricing", false, [7], [7], 5, "desc", true); 
      var sr = @Html.Raw(Json.Encode(Model.CanvasJsonData)); 
      @if(Model.IsValidCanvasUser) 
      { //i am trying to open this curly braces here    
       Sfdc.canvas(function() { 
       Sfdc.canvas.client.publish(sr.client, { 
        name: 'mybox.sendVal', payload: { value : 'request created'} }); 
       })() ; 
      }//i am trying to end this curly braces here  
     }); 
    })(); 
+0

什麼是生成的HTML實際上是什麼樣子?從這個角度來看,這個問題很有希望。 – smarx

+0

沒有得到你嗎? – user662285

+0

我想這取決於發生錯誤的位置。如果它發生在瀏覽器中,那麼我問什麼是HTML輸出。 (這是在您的服務器上運行的代碼,併發出HTML,然後由瀏覽器解釋。那是什麼HTML?) – smarx

回答

0

過多字符雖然其可能使用<text>@:剃刀(服務器端代碼)和JavaScript的(客戶端代碼)之間切換中,例如(也these answers參閱用於詳細)

app.applyDatatable("tblInitPricing", false, [7], [7], 5, "desc", true); 
var sr = @Html.Raw(Json.Encode(Model.CanvasJsonData)); 
@if(Model.IsValidCanvasUser) 
{ 
    <text>   
     Sfdc.canvas(function() { 
     Sfdc.canvas.client.publish(sr.client, { 
      name: 'mybox.sendVal', payload: { value : 'request created'} }); 
     })() ; 
    </text> 
} 
// Razor may report syntax errors, but you can ignore them 

更容易強制的T IsValidCanvasUser值分配給一個JavaScript變量和使用,在一個javascript if

var isValid = @Html.Raw(Json.Encode(Model.IsValidCanvasUser)); 
var sr = @Html.Raw(Json.Encode(Model.CanvasJsonData)); 
if(isValid) { 
    Sfdc.canvas(function() { 
    .... 
}