2014-04-14 100 views
0

我知道這看起來像一個簡單的問題,但我相信viewbag是什麼讓我訪問模型中的數據,但我想直接訪問模型類,而不是創建它的一個實例。我知道你可以通過使用模型類作爲參數來實現主索引方法,但是我如何使用我創建的方法來做同樣的事情?如何通過控制器訪問模型中的數據?

這裏是我下面的代碼,我試圖找出如何通過模型類的參數,以便我打電話的方法可以訪問所有的信息:

$(document).ready(function() { 
     // if user changes paper type 
     $('#paperTypeJList').change(function() { 
     var value = $(this).val(); 

     $.ajax({ 
      url: '@Url.Action("getNewPrice","Home")', 
      data: {dropdownValue:value, dropdownName: "paperType"}, 
      cache: false, 
      async: true, 
      success: function(response){ 
       alert(response); 
      } 
     }); 
    }); 
+0

你能展示你的方法和你的模型嗎? –

+0

我剛剛發佈了代碼 –

+0

你可以更新你的問題,你只需要更新'編輯'作爲答案。如果我明白你想在你的模型中使用一種方法。但是不想實例化你的模型? –

回答

1

我有很好地理解你的問題。你也可以用這樣的

[HttpPost] 
public JsonResult getNewPrice(EasyInfoModels model, string dropdownValue, string dropdownName) 
{ 
    // do something with value and return a decimal 
    if(string.IsNullOrEmpty(dropdownValue) && string.IsNullOrEmpty(dropdownName)) 
    { 
     //do something 
     return Json(result) 
    } 
    else 
    return Json("Blank"); 
} 

,併爲您的Ajax調用

var datas = { 
     fullName :$("#fullname").val(),//retrieve the value from your model in the view 
     email:"",//retrieve the value from your model in the view 
     phone :"",//retrieve the value from your model in the view 
     topic:"",//retrieve the value from your model in the view 
     subject:"",//retrieve the value from your model in the view 
     paperType:"",//retrieve the value from your model in the view 
     urgency :"",//retrieve the value from your model in the view 
     numOfPages :"",//retrieve the value from your model in the view 
     requirements :"",//retrieve the value from your model in the view 
     style:"",//retrieve the value from your model in the view 
     spacing :"",//retrieve the value from your model in the view 
     price :'',//retrieve the value from your model in the view 
     dropdownValue:value, 
     dropdownName: "paperType"   
    }; 
    $.ajax({ 
     url: '@Url.Action("getNewPrice","Home")', 
     type:"POST", 
     data:datas , 
     contentType: "application/json; charset=utf-8", 
     cache: false, 
     async: true, 
     success: function(response){ 
      alert(response); 
     } 
    }); 

希望這將有助於你打電話給你的方法。 Binder將採取每個值來創建你的模型。

+0

時,這很奇怪,我想我沒有很好地陳述我的問題。我試圖通過調用方法的原始代碼作爲參數傳遞模型類。這是一個jQuery腳本,每次調用下拉列表中的值時,都會調用該方法 –

+0

我不明白代碼如何幫助我從方法內部訪問模型? –

相關問題