2011-05-28 62 views
0

我有這樣傳遞參數給Action方法

public JsonResult Create(Product p, string extra) 

一次操作方法的視圖綁定到@model Product

在調用創建通過Ajax調用動作,我從形式獲得產品P值但額外總是空,但額外的是相同的形式

<input type="text" name="extra" /> 

我也嘗試過的Request.Form [「額外」]這是空了。我錯過了什麼?如何在操作方法中獲得輸入[name = extra]的值?

回答

0

你沒有提到你是如何調用這個動作(不是說AJAX這顯然是不夠的除外),所以假設你有代表的產品和含有一些額外的值的輸入域的HTML表單:

@model Product 
@using (Html.BeginForm()) 
{ 
    @Html.EditorForModel() 

    <input type="text" name="extra" value="some extra value" /> 

    <input type="submit" value="Create" /> 
} 

,你可以悄悄地AJAXify這種形式是這樣的:

$('form').submit(function() { 
    $.ajax({ 
     url: this.action, 
     type: this.method, 
     data: $(this).serialize(), 
     success: function(result) { 
      // TODO: handle the results of the AJAX call 
     } 
    }); 
    return false; 
}); 
+0

是的,我已經在做了同樣的方式。 – coure2011 2011-05-28 12:52:26

+0

@ coure06,太棒了,那麼就不會有任何問題,因爲我剛剛測試過它,它的工作完美無瑕。 – 2011-05-28 12:52:47

+0

感謝...您一直都很有幫助。你可以PLZ推薦一些關於ASP.NET MVC的好書嗎? – coure2011 2011-05-28 12:58:14