2014-05-02 63 views
0

我有ASP.NET MVC項目。我打電話在我的控制器的一個存儲過程,並採取任何導致了我的可視數據是這樣的:如何添加Viewdata到我的Javascript?

var sp = callsp(parameter1, paramter2) 

if(abovespcontainsnoresult) 
{ 
     viewdata["result"] = "This sp doesn't consists any results"; 
    } 

現在我有這個傳遞給我的腳本功能。我有腳本,使得按鈕,當我從下拉列表中選擇:

$(document).ready(function() { 
    $("#button").change(function (e) { 

     if ($(this).val() != '') { 
      $("#button1").attr('disabled', false); 
      $("#button2").attr('disabled', false); 
      $("#button3").attr('disabled', false); 
      $("#button4").attr('disabled', false); 
     } 
     } 

現在我想要做的就是可視數據結果添加到這個腳本,並檢查其是否爲空或不是。我試過這樣的:

$(document).ready(function() { 
    $("#button").change(function (e) { 

      if ($(this).val() != '' && ($(@ViewData["result"].ToString()) != "")) 
     { 
      $("#button1").attr('disabled', false); 
      $("#button2").attr('disabled', false); 
      $("#button3").attr('disabled', false); 
      $("#button4").attr('disabled', false); 
     } 
     } 

但是腳本不工作,如果我添加此條件。那麼如何將viewdata結果檢查到我的腳本中並檢查它是否爲空?

+0

[javascript中使用ViewData的ASP.NET MVC的可能的重複](http://stackoverflow.com/questions/5863094/asp-net-mvc-using-viewdata-in-javascript) – JasonWilczak

回答

2

商店$(ViewData["result"].ToString())到JavaScript變量的值,然後使用該變量在if聲明。

$(document).ready(function() { 
    $("#button").change(function (e) { 
     var result = $('@ViewData["result"].ToString()'); 

     if ($(this).val() != '' && result !== '') 
     { 
      $("#button1").attr('disabled', false); 
      $("#button2").attr('disabled', false); 
      $("#button3").attr('disabled', false); 
      $("#button4").attr('disabled', false); 
     } 
     } 

您剛開始時是處於正確的軌道上。

2

如果你把蜱它會工作。

'@ViewData[result]' 

如果它是一個外部JS文件(腳本不考慮編碼),它不會工作

相關問題