 <p>Here are 3 examples what I am using:</p> <p><strong>example 1:</strong></p> <p>button (here with telerik css styling):</p> <pre><code>&lt;a class="t-button t-button-icontext" onclick="ajaxCreateEquipment()"&gt;&lt;span class="t-icon t-add"&gt;&lt;/span&gt;Create&lt;/a&gt; </code></pre> <p>javascript: <strong>#equipment-table-container</strong> is the id of the target div:</p> <pre><code>&lt;script type="text/javascript"&gt; function ajaxCreateEquipment() { $.ajax({ type: 'GET', url: '@Url.Action("ShowCreate", "Equipment")', dataType: 'html', success: function (data) { $('#equipment-table-container').html(data); } }); } &lt;/script&gt; </code></pre> <p>EquipmentController.cs:</p> <pre><code>[HttpGet] public ActionResult ShowCreate() { // some calculation code, fetch model from DB something else ViewData.Add("FormAction", "Create"); // some ViewData return PartialView("Create", model); // returns the View html file } </code></pre> <p><strong>example 2:</strong> function call here with id argument and Json return:</p> <pre><code>@{ var supplierQuoteId = Model.ID.ToString(); &lt;a id="@supplierQuoteId" onclick="updateDiv(this.id)"&gt;&lt;/a&gt; } </code></pre> <p>javascript:</p> <pre><code>function updateDiv(id) { var strUrl = "/LicenseTerm/UpdateUsedQuantity/" + id; $.ajax({ type: "GET", url: strUrl, cache: false, dataType: "json", success: function (data) { $('#licenseterm-usedquantity').html(data.sum); } }); } </code></pre> <p>LicenseTermController.cs</p> <pre><code>[HttpGet] public JsonResult UpdateUsedQuantity(Guid id) { var licenseTerm = _repository.GetAll&lt;LicenseTerm&gt;().Where(l =&gt; l.ID == id).First(); int sum = 0; foreach (LicenseAllocation l in licenseTerm.LicenseAllocations.Where(o =&gt; o.Deleted == false)) sum = sum + l.LicenseQuantity; return Json(new { sum = sum }, JsonRequestBehavior.AllowGet); } </code></pre> <p><strong>example 3: simple get</strong></p> <pre><code>function ajaxFieldDefinitionCreate(id) { var strUrl = '/FieldDefinition/Create' + '/' + id.toString() + '?isRefreshAction=true'; $.get(strUrl, function (data) { $('#equipmenttype-fielddefinition-createeditarea').html(data); }); } [HttpGet] public ActionResult Create(Guid id, [Optional, DefaultParameterValue(false)] bool isRefreshAction) { var equipmentType = _equipmentTypeRepository.GetById(id); var fieldDefinitionDto = new FieldDefinitionDto { ID = Guid.NewGuid(), ParentName = equipmentType.Name, }; return PartialView("Create", fieldDefinitionDto); } </code></pre>