Search code examples
c#asp.net.netasp.net-mvcknockout-mvc

KnockoutMVC submit button not working


I am using knockoutmvc to bind controls.(http://knockoutmvc.com/)

I am getting following error while clicking on button.

Following is my Razor view implementation :

@using PerpetuumSoft.Knockout

@model OpManWeb.ViewModel.ManageAddressVM

@{
    var ko = Html.CreateKnockoutContext();
}

@{
    ViewBag.Title = "Manage Addresses";
}

@Scripts.Render("~/customjs")
@Scripts.Render("~/knockout")
<div class="container-fluid zeropadding" style="margin-top:15px; width:100%; font-size:13px;">

    <div class="row">
        <div class="col-md-3 col-lg-3 clmargin">
            <div class="form-group  col-md-4 zeropadding div1adjustments">
                @Html.LabelFor(m => m.IndexNo, new { @class = "fieldtext" })
            </div>
            <div class=" form-group col-md-8 div2adjustments ">
                @ko.Html.TextBox(m => m.IndexNo, new { @class = "form-control input-sm fieldtextinput " })
                <input type="reset" class="btncross" data-toggle="tooltip" title="Click to clear" value="X" />
                <button type="button" class="btn btn-search searchbtn" data-toggle="tooltip" data-placement="bottom"
                        title="Search customer as per Index No">
                    <i class="fa fa-search"></i>
                </button>

            </div>
        </div>
        <div class="col-md-2">
                @ko.Html.Button("Add Address", "AddAddress", "Customer", null, new { @class = "btn btn-large btn-primary" })
        </div>
    </div>

</div>

Following is the code for CustomerController File

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ServiceStack.Mvc;
using OpManWeb.Models;
using PerpetuumSoft.Knockout;
using OpManWeb.ViewModel;
using MvcJqGrid;

namespace OpManWeb.Controllers
{
    public class CustomerController : KnockoutController
    {
        public ActionResult AddAddress()
        {
            AddressVM addressVM = new AddressVM();
            addressVM.selectmode = Mode.Add;
            return View("AddEditAddress", addressVM);
        }
     }
}

Following is ther error Html Response Error Response While Clicking on Button


Solution

  • While using @Ko.Html.Button we must return Json Object From Controller Method like below.

    public ActionResult AddAddress()
        {
    
            return Json(new { Url = Url.Action("Stock", "Inventory") });
        }