2014-03-24 31 views
0

我想用參數調用一個行爲結果,但它們都顯示爲null?參數無效的ActionLink?

這是我的ActionLink的:

@Html.ActionLink("Add", "APNewQuote", "APQuotes", new {OENum = Model.OENumber, QuoteNumber = Model.QuoteNumber, ClaimNumber = Model.ClaimNumber, MotorBodyRepairer = Model.MotorBodyRepairer, VehicleRegistration = Model.VehicleRegistration, VehicleMakeId = Model.VehicleMakeId, VehicleModelId = Model.VehicleModelId, VehicleRangeId = Model.VehicleRangeId}, new { @class = "btn btn-primary niceButton" }) 

而在我的控制器:

public ActionResult APNewQuote(string OENum, string QuoteNumber, string ClaimNumber, string MotorBodyRepairer, string VehicleRegistration, int? vehicleMakeId, int? vehicleModelId, int? vehicleRangeId) 
{ 
//Do things with the variables passed in 

APNewQuoteViewModel viewModel = new APNewQuoteViewModel 
{ 
    OENumber = OENumber, 
    QuoteNumber = QuoteNumber, 
    ClaimNumber = ClaimNumber, 
    MotorBodyRepairer = MotorBodyRepairer, 
    VehicleRegistration = VehicleRegistration, 
    VehicleMakeId = vehicleMakeId, 
    VehicleMakes = vehicleMakes, 
    VehicleModelId = vehicleModelId, 
    VehicleModels = vehicleModels, 
    VehicleRanges = vehicleRanges, 
    VehicleRangeId = vehicleRangeId, 
    Date = Date 
}; 

return View(viewModel); 
} 

上述方法用於initialy顯示視圖,以便它的細如果所有的輸入參數是空的,但當我再次調用動作結果時,我需要使用這些參數,以便它們不能爲空。

我可以運行我的項目,當我點擊我的動作鏈接時,我只是將所有內容都復位爲null,它確實移動到正確的方法。

+0

您是否確認模型已傳遞到您的視圖。 –

+0

@ Pomster ..你使用MVC 3嗎?我也面臨類似的問題 –

+0

@AvinashKothamasu我正在使用MVC 4 – Pomster

回答

0

你能嘗試訪問IKE在此:Request.Params[0]

+0

我不確定你想要展示什麼? – Pomster

+0

@ Pomster ..我只是想讓你檢查你的模型值是否達到控制器? –

0

確保下面的MVC助手代碼生成與查詢字符串的鏈接

@Html.ActionLink("Add", "APNewQuote", "APQuotes", new {OENum = Model.OENumber, 
    QuoteNumber = Model.QuoteNumber, ClaimNumber = Model.ClaimNumber, 
    MotorBodyRepairer = Model.MotorBodyRepairer, VehicleRegistration = 
    Model.VehicleRegistration, VehicleMakeId = Model.VehicleMakeId, 
    VehicleModelId = Model.VehicleModelId, VehicleRangeId = Model.VehicleRangeId}, 
    new { @class = "btn btn-primary niceButton" }) 

<a href="/APNewQuote/Add?OENum=val1&QuoteNumber=val2,etc">APQuotes</a> 

那麼你的控制器方法應該默認情況下可以爲[HttpGet]提供服務。如果您僅使用[HttpPost]修飾,請添加HttpGet動詞。

[HttpGet] 
[HttpPost] 
public ActionResult APNewQuote(string OENum, string QuoteNumber, string ClaimNumber, string MotorBodyRepairer, string VehicleRegistration, int? vehicleMakeId, int? vehicleModelId, int? vehicleRangeId) 
{ 

}