2017-07-07 9 views
0

剣道グリッドをRazor構文で使用し、if:elseロジックを使用してヘッダテンプレートを作成しようとしています。私が抱えている問題は、if文が剣道グリッドのモデルのプロパティをチェックするのではなく、C#razorのSessionHelperプロパティをチェックするということです。私はそれを正しく得ることができない。私は現在次のものを使用していますが、動作していません。剣道グリッドのカラムテンプレートに刃先論理を追加する方法

我々はそうのようなClientTemplateを使用している:

.ClientTemplate("#= getLinks(data)#") 

機能コードは以下の通りである:

function getLinks(data) { 

     var level2Access = '@SessionHelper.IsUserLevel2Access()'; 
     var model = "<a href='javascript:GetCertsHistory(" + data.ControlNumber + ")'>Certs</a> | " + 
      "<a href='javascript:GetInvoicesHistory(" + data.ControlNumber + ")'>Invoices</a> | "; 

     if (level2Access) { 
      model += "<a href='javascript:GetItemToEdit(" + data.ControlNumber + ")'>Edit</a>"; 
     } 

     return model; 

    } 

、どのような奇妙なことは、もし1つの目的は、すべての数値の管理番号を持っているということですそれはうまく動作します。コントロール番号がアルファベットの場合は、単に証明書を表示するための関数を呼び出そうとして失敗します。

エラーさは、開発ツールになるここにある:

GetCertHistory(1210000bbbtest123) "Invalid or unexpected token" 

私は、このパラメータは、英数字と単なる数値でない場合にのみ発生する理由として、この1には考えています。私は見たことのない特別なキャラクターがあったかもしれないと思っていたので、私はそのパラメントに対してトリムを走らせましたが、それはまだ起こります。これについて何か考えている?

答えて

1

私はあなたがこのような外部テンプレート何かにこれをやっている方法を変更します:

.ClientTemplate("#=getLinks(data)#") 

その後、(未テストが、動作するはずです)、このようなあなたのためのリンクを取得するjavascript関数を持っている:

function getLinks(data) { 
     console.log(data); 
     var level2Access = '@SessionHelper.IsUserLevel2Access()'; 
     var model = "<a href='javascript:GetCertsHistory(\"" + data.ControlNumber +"\")'>Certs</a> | " + 
      "<a href='javascript:GetInvoicesHistory(\"" + data.ControlNumber + "\")'>Invoices</a> | "; 

     if (level2Access) { 
      model += "<a href='javascript:GetItemToEdit(\"" + data.ControlNumber + "\")'>Edit</a>"; 
     } 

     return model; 

    } 

代わりに、あなたは、将来的にはより保守溶液であってもよいが、これはあなたのために働く必要がありますこれらのリンクのために外部のテンプレートを使用することになります。

私に知らせて、私はあなたの答えを更新します

+0

ああ、それはいい考えです。私はなぜこのルートを見落としたのか分かりません。笑ありがとう! – Casey

+0

あなたのコードを少し修正しなければなりませんでした。私は私の質問でそれを更新しましたが、私は現在、開発ツールでデバッグする際に関数のパラメータで適切なモデル値を呼び出そうとすると、無効なトークンエラーが発生します。 – Casey

+0

少なくともあなたはそれを働かせました。ちょうど私があなたが作った編集を知らせて、私は私の答えを更新します –

関連する問題