2016-04-23 6 views
0

私は次のようになりますOnClientClick内のJavaScript呼び出しがあります。"SyntaxError:予期しないトークン)" eval(value)がnullの場合はjavascript呼び出しで?

OnClientClick='<%# "return DisplayAlert(" + Eval("BedNum") + "," + Eval("ClientId") + ");" %>' 

をそして、これは私のjavascript関数である:

function DisplayAlert(bed, clientid) { 
     if (clientid == null) { 
      alert('value is null 1st if'); 
     } 
     if (clientid === null) { 
      alert('value is null 4th If'); 
     } 
     if (clientid !== null) { 
      alert(clientid); 
     } 

     return false; 
    } 

ClientIdは常にどちらかヌルであるか、有効な値を持っています。 ClientIdに有効な値がある場合、alertが表示されます。だからそれはいいです。

しかしClientIdヌルあるとき、alertが表示され、コンソールがUncaught SyntaxError: Unexpected token)を示していません。

clientidがnullの場合、javascript関数の呼び出しがうまくいかないと思っています。そのため、このエラーが発生します。しかし、私はそれをどのように修正するか分かりません。私はいつもヌルをより扱いやすい値に置き換えることができますが、それ以外の選択肢がない場合はそれを行います。

何か助けていただければ幸いです。

+0

変更を'、' "+ Eval(" ClientId ")+" '); " %> ' –

答えて

0

私はclientidがnullであるかどうかを知る必要があるので、実際の値ではなくclientidの長さをチェックすることになりました。それが0だ場合とJavaScript関数の中で私がチェック:

OnClientClick='<%# "return ShowRoom(" + Eval("BedNum") + "," + Eval("ClientId").ToString().Length + ");" %>' 

とJavaScript機能: "<%の# "'(DisplayAlertを返す" +評価( "BedNum")+`へ

<script type="text/javascript"> 
    function ShowRoom(bed, clientid) { 
     if (clientid == 0) { 
      //clientid is null. Do something. 
     } else if (clientid > 0) 
     { 
      //clientid is not null. Do something else.     
     } 
     return false; 
    } 
</script> 
0

問題は、あなたの関数の呼び出しによって発生します。 ClientIdのがnull ...

この:<%# "return DisplayAlert(" + Eval("BedNum") + "," + Eval("ClientId") + ");" %>
この生成:空白

はJSで直接あなたの機能を試してみてくださいreturn DisplayAlert(value,);お知らせ "DisplayAlert(値は、null);"あなたの最初の2つのアラートが表示されます

これは、にヌルを変更して、の前に関数呼び出しを作成した方が最適です。

+0

あなたの投稿をありがとう。しかし、データセットの結果を変更することなくこれを変更する方法が必要です。 – rbhat

+0

私はソースから値を変更するつもりではなく、あなたの呼び出しを構築することを意味しました。たとえば、コードビハインドで、 "CliendId"がnullの場合はそれをチェックし、次のように0に変更するメソッドを作成します。 "、" + CheckforNull(Eval( "CliendId"))+ ") ; "....それは" return DisplayAlert(value、0); "となります。 –

関連する問題