I am trying to create an application where i am using KENDO UI Dropdown. The Problem is i want to update the values from my view into the database . On selection of the any value in the dropdown the ID associated with it should be passed onto the controller for the required database updation. But here the ID for any selection of the dropdown list passes "null" as the value onto the controller .
My view
@using Kendo.Mvc.UI
@model ExamplekendoDropdown.Models.FacilityGroup
@{
ViewBag.Title = "FacilityGroup";
}
<h2>FacilityGroup</h2>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>FacilityGroup</legend>
<div id="RegionName" class="editor-label">
@Html.LabelFor(model => model.RegionId)
</div>
<div class="editor-field">
@* @Html.EditorFor(model => model.RegionName)*@
@(Html.Kendo().DropDownList()
.Name("Region")
.DataTextField("RegionName")
.DataValueField("RegionId")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetRegion", "Fill");
});
})
)
@Html.ValidationMessageFor(model => model.RegionId)
</div>
<div id="Rest">
@*<form method="post" action='@Url.Action("Submit")' style="width:45%">
<div>
@(Html.Kendo().Upload()
.Name("files")
)
<p>
<input type="submit" value="Submit" class="k-button" />
</p>
</div>
</form>*@
<div class="editor-label">
@Html.LabelFor(model => model.FaclityGroupName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FaclityGroupName)
@Html.ValidationMessageFor(model => model.FaclityGroupName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.status)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.status)
@Html.ValidationMessageFor(model => model.status)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.CreationDate)
</div>
<div class="editor-field">
@* @Html.EditorFor(model => model.CreationDate)*@
@(Html.Kendo().DatePicker()
.Name("datepicker")
.Value("17/08/2011")
.HtmlAttributes(new { style = "width:150px" })
)
@Html.ValidationMessageFor(model => model.CreationDate)
</div>
<p>
<input type="submit" value="Create" />
</p>
</div>
</fieldset>
}
<div>
@Html.ActionLink("See the List", "List")
</div>
<div>
@Html.ActionLink("Back to List", "About")
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#RegionName").click(function () {
$("#Rest").show();
});
});
</script>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Controller :-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ExamplekendoDropdown.Models;
namespace ExamplekendoDropdown.Controllers
{
public class FacilityGroupController : Controller
{
//
// GET: /FacilityGroup/
public ActionResult FacilityGroup()
{
return View();
}
[HttpPost]
public ActionResult FacilityGroup(FacilityGroup objadd)
{
AMIEntities1 obj1 = new AMIEntities1();
Facility objtbl = new Facility();
objtbl.RegionId = Convert.ToInt16(objadd.RegionId);
objtbl.FaclityGroupName = objadd.FaclityGroupName.ToString();
objtbl.Status = objadd.status;
objtbl.CreationDate = objadd.CreationDate;
obj1.AddToFacilities(objtbl);
obj1.SaveChanges();
obj1.AcceptAllChanges();
return View();
}
}
}
Kindly help !!