Asp.net MVC folosind JSON

voturi
0

Vreau să calculeze adăugarea a două numere din asp.net cod mvc.My este de mai jos.

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

    public JsonResult Calculate(int a,int b)
    {
        return Json(a + b);
    }

Codul Index.cshtml este de mai jos:

 <table>
    <tr>
        <td><input type=text id=s1/></td>
        <td>+</td>
        <td><input type=text id=s2/>=</td>
        <td><div id=result></div></td>
    </tr>
    <tr><td><input type=submit value=Calculate id=btnCalc/></td></tr>
</table>
<script type=text/javascript>
    $(document).ready(function () {
        $('#btnCalc').click(function () {
            var a = $('#s1').val(),b=$('#s2').val();
            $.post(/Home/Calculate, { a: a,b:b }, function (data) {
                $('#result').text(data.Text);
            }, json);
        });
    });
</script>

Dar atunci când fac clic pe butonul pentru a calcula nimic happened.Where am greșit. (Ne pare rău engleză meu este rău :()

Întrebat 14/11/2013 la 16:01
de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

În JavaScript dvs., trebuie să faceți acest lucru:

var a = $('#s1').val();
var b = $('#s2').val();

// {a: a, b: b} might work, but I can't test it right now
$.post('/home/calculate', 'a=' + a + '&b=' + b, function(data) {
    $('#result').text(data.Text);
});

În controlerul:

[HttpPost] //This isn't required, but it will prevent GET requests if that's what you want to do
public JsonResult(int a, int b)
{
    int result = a + b;
    return Json(new {Text = result});
}

Problema principală este că în JavaScript dumneavoastră, ați fost trimiterea la o proprietate de text data, dar nu au fost recurenți , care de la controller

Publicat 14/11/2013 la 16:13
sursa de către utilizator

voturi
0

Mi se pare meu wrong.May fi de ajutor cuiva.

<table>
<tr>
    <td><input type="text" id="s1"/>+</td>
   <td><input type="text" id="s2"/>=</td>
    <td><div id="result"></div></td>
</tr>
<tr>
    <td><input type="submit" id="btn"/></td></tr>

<script type="text/javascript">
    $(document).ready(function () {
        $("#btn").click(function() {
            var a = $('#s1').val();
            var b = $("#s2").val();
            $.post("/Home/Calc", { a: a,b:b}, function (data) {
                $('#result').text(data.Text);
            }, "json");
        });});

 [HttpPost]
        public JsonResult Calc(int a,int b)
        {
            int result = a + b;
            return Json(new {Text=result});
        }

        public class Result
        {
            public string Text { get; set; }
        }
Publicat 14/11/2013 la 17:12
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more