2013-05-17 19 views
5

Ajax.BeginFormを使用しようとしていますが、成功しません。フォームが正しく動作するようにはできません。私のコントローラのアクション "UpdateTest"は決して呼び出されない私は理由を知らない。私は多くのチュートリアルに従っていましたが、それでも同じ問題が発生します。ご協力ありがとうございました !Ajax.BeginForm ASP.NET MVC 4がコントローラアクションを呼び出さない

マイモデル:

public class TestModel 
{ 
    public ObjectId _id { get; set; } 
    public int orange { get; set; } 
    public int blue { get; set; } 
    public int red { get; set; } 
    public int yellow { get; set; } 
    public int white { get; set; } 
    public float green { get; set; } 
    public float pink { get; set; } 
} 

ColorController

[HttpPost] 
    public void UpdateTest(TestModel tmp) 
    { 
     ... 
     ... 
    } 

私の見解では私の行動

@model Project.Models.TestModel 


@using (Ajax.BeginForm(new AjaxOptions() 
{ 
    HttpMethod = "POST", 
    Url = Url.Action("UpdateTest", "Color") 
})) 
{ 
     @Html.TextBoxFor(model => model._id) 
     @Html.TextBoxFor(model => model.orange) 
     @Html.TextBoxFor(model => model.blue) 
     @Html.TextBoxFor(model => model.red) 
     @Html.TextBoxFor(model => model.yellow) 
     @Html.TextBoxFor(model => model.white) 
     @Html.TextBoxFor(model => model.green)  
     @Html.TextBoxFor(model => model.pink) 

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

Javascriptを

<script type="text/javascript" src="/Scripts/jquery.unobtrusive-ajax.min.js"> 
</script> 

答えて

13

このように試してみてください....

@using (Ajax.BeginForm("UpdateTest", "Color", new AjaxOptions() { HttpMethod = "POST" })) 
{ 
    @Html.TextBoxFor(model => model._id) 
    @Html.TextBoxFor(model => model.orange) 
    @Html.TextBoxFor(model => model.blue) 
    @Html.TextBoxFor(model => model.red) 
    @Html.TextBoxFor(model => model.yellow) 
    @Html.TextBoxFor(model => model.white) 
    @Html.TextBoxFor(model => model.green)  
    @Html.TextBoxFor(model => model.pink) 

    <input type="submit" value="Submit" /> 
} 
+0

お手伝いをしてくれてありがとう! – user2037696