Jak korzystać z ViewModels w ASP.NET MVC?

Właśnie zacząłem uczyć się o ViewModels w ASP.NET MVC. Więc pomyślałem o implementacji przykładowego przykładu jak poniżej:

Podmiot gospodarczy

public class AddModel
{
    public int a { get; set; }
    public int b { get; set; }

    public int Add()
    {
        return (this.a + this.b);
    }
}

Dodaj ViewModel

public class AddViewModel
{
    public AddModel addModel;
    public int Total { get; set; }
}

Kontroler

public class AddController : Controller
{
    [HttpPost]
    public JsonResult Add(AddViewModel model)
    {

        int iSum = model.addModel.a + model.addModel.b;
        model.Total = iSum;
        return Json(model);

    }

    public ActionResult Index()
    {
        return View();
    }
}

Zobacz implementację

@model ViewModelApplication.AddViewModel
<script type="text/javascript" src="../../Scripts/MicrosoftAjax.js"></script>
<script src="../../Scripts/MicrosoftMvcAjax.debug.js" type="text/javascript"></script>
<script type="text/javascript">
    function Callback(data) {
        alert("I am sucess call");
    }

    function Failed() {
        alert("I am a failure call");
    }
</script>

@using (Ajax.BeginForm("Add", "Add", new AjaxOptions { OnSuccess = "Callback", OnFailure = "Failed" }))
{
    <table align="center">
        <tr>
            <td class="tdCol1Align">
                <label>
                    Number1</label>
            </td>
            <td class="tdCol2Align">
                @Html.TextBoxFor(Model => Model.addModel.a)
            </td>
        </tr>
        <tr>
            <td class="tdCol1Align">
                <label>
                    Number2</label>
            </td>
            <td class="tdCol2Align">
                @Html.TextBoxFor(Model => Model.addModel.b)
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center">
                <input type="submit" value="Add" class="button" />
            </td>
        </tr>
    </table>
}

Problem polega na tym, że nie mogę pobrać wartości wprowadzonych w polach tekstowych za każdym razem, gdyAdd przycisk jest kliknięty; Odpowiada to AJAX.

Kiedy próbuję uzyskać dostęp do wartościa ib, Otrzymuję wartości null zamiast wartości wprowadzonych w polach tekstowych.

Nie wiem, gdzie się mylę. Proszę pomóż.

questionAnswers(2)

yourAnswerToTheQuestion