or

public class LoginViewModel : BaseViewModel { public LoginModel Model { get; set; } }public class LoginModel { [Required(ErrorMessageResourceName="Generic_Error_IsRequired", ErrorMessageResourceType=typeof(App_GlobalResources.Resource))] [Display(Name="Login_Username", ResourceType=typeof(App_GlobalResources.Resource))] public string UserName { get; set; } [Required(ErrorMessageResourceName = "Generic_Error_IsRequired", ErrorMessageResourceType = typeof(App_GlobalResources.Resource))] [DataType(DataType.Password)] [Display(Name = "Login_Password", ResourceType = typeof(App_GlobalResources.Resource))] public string Password { get; set; } [Display(Name = "Login_Remember_me", ResourceType = typeof(App_GlobalResources.Resource))] public bool RememberMe { get; set; } }@model Gusto.Web.ViewModels.LoginViewModel@{ ViewBag.Title = @Resources.Resource.Login_Page_Title; }<div class="form-vertical login"> <!-- BEGIN LOGO --> <div class="logo"> <h1>Bluefox</h1> </div> @using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })){ <div id="login-form"> @Html.AntiForgeryToken() @Html.ValidationSummary(true) <div class="status"></div> <fieldset> <legend>@Resources.Resource.Login_Page_Title</legend> <div class="control-group"> @Html.LabelFor(m => m.Model.UserName, new { @class="control-label"}) <div class="controls"> @Html.EditorFor(m => m.Model.UserName, new { @required="required" }) @Html.ValidationMessageFor(m => m.Model.UserName) </div> </div> <div class="control-group"> @Html.LabelFor(m => m.Model.Password) @Html.PasswordFor(m => m.Model.Password, new { @required="required" }) @Html.ValidationMessageFor(m => m.Model.Password) </div> <div class="control-group"> @Html.CheckBoxFor(m => m.Model.RememberMe) @Html.LabelFor(m => m.Model.RememberMe, new { @class = "checkbox" }) </div> <input type="submit" class="btn green pull-right" value="Login" id="btnSubmit" /> </fieldset> </div>} <p> @Html.ActionLink("Register", "Register") @Resources.Resource.Login_Register </p></div>@section Scripts { <script type="text/javascript"> $(document).ready(function () { var validator = $("#login-form").kendoValidator().data("kendoValidator"), status = $(".status"); $("#btnSubmit").click(function () { if (validator.validate()) { save(); } else { status.text("@Resources.Resource.Generic_Error_Form") .removeClass("valid") .addClass("invalid"); } }); }); </script> }@(Html.Kendo().MultiSelect() .Name(AMultiName) .DataTextField("PrettyText") .DataValueField("MapAbbreviation") .Placeholder("Edit EMR maps...") .Filter(FilterType.Contains).MinLength(3) .AutoBind(false) .DataSource( ds => ds.Read(r=>r.Action("ReadMapOptions","EmrMappingKendo", new {Area="Messaging"})).ServerFiltering(true)) .Value(ASelectedOptions) .Events(e => { e.Change("onChangeEvent"); e.DataBound("saveInitialMultiValues"); }) ) //function invoked by dataBound
function saveInitialMultiValues(multi) { multi.sender._originaldataItems = multi.sender._dataItems.slice(0); multi.sender._originalValues = multi.sender._values.slice(0); }function cancelMultiSelectUpdates(multiId) { var multi = $('#' + multiId); var temp = multi.data("kendoMultiSelect"); temp._dataItems = temp._originaldataItems; temp._values = temp._originalValues; refresh(); }@model Gusto.Web.ViewModels.LoginViewModel@{ ViewBag.Title = @Resources.Resource.Login_Page_Title; }<div class="form-vertical login"> <!-- BEGIN LOGO --> <div class="logo"> <h1>Bluefox</h1> </div> @using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl })){ <div id="login-form"> @Html.AntiForgeryToken() @Html.ValidationSummary(true) <div class="status"></div> <fieldset> <legend>@Resources.Resource.Login_Page_Title</legend> <div class="control-group"> @Html.LabelFor(m => m.Model.UserName, new { @class="control-label"}) <div class="controls"> @Html.EditorFor(m => m.Model.UserName, new { @required="required" }) @Html.ValidationMessageFor(m => m.Model.UserName) </div> </div> <div class="control-group"> @Html.LabelFor(m => m.Model.Password) @Html.PasswordFor(m => m.Model.Password, new { @required="required" }) @Html.ValidationMessageFor(m => m.Model.Password) </div> <div class="control-group"> @Html.CheckBoxFor(m => m.Model.RememberMe) @Html.LabelFor(m => m.Model.RememberMe, new { @class = "checkbox" }) </div> <input type="submit" class="btn green pull-right" value="Login" id="btnSubmit" /> </fieldset> </div>} <p> @Html.ActionLink("Register", "Register") @Resources.Resource.Login_Register </p></div>@section Scripts { <script type="text/javascript"> $(document).ready(function () { var validator = $("#login-form").kendoValidator().data("kendoValidator"), status = $(".status"); $("#btnSubmit").click(function () { if (validator.validate()) { save(); } else { status.text("@Resources.Resource.Generic_Error_Form") .removeClass("valid") .addClass("invalid"); } }); }); </script> }<style> #grid, #splitter { border-width: 0; height: 100%; } html, body { margin: 0; padding: 0; height: 100%; } html { overflow: hidden; } .k-grid-content > table > tbody > tr:hover { background-image: url("textures/brushed-metal.png"), linear-gradient(to bottom, rgb(238, 159, 5) 0px, rgb(244, 175, 3) 100%); } .k-grid-content > table > tbody > tr .k-button { visibility: hidden; } .k-grid-content > table > tbody > tr:hover .k-button { visibility: visible; }</style>.Scrollable(c=>c.Virtual(true))
<div class="container-div grid-tab-content-pane"> @(Html.Kendo().MultiSelect() .Name(AMultiName) .DataTextField("PrettyText") .DataValueField("MapAbbreviation") .Placeholder("Edit EMR maps...") .Filter(FilterType.Contains) .MinLength(3) .AutoBind(false) .HighlightFirst(true) .Value(new [] { new {PrettyText = "Abcdef",MapAbbreviation = "s01"}, new {PrettyText = "2nde obn", MapAbbreviation = "asdf012"} }) .DataSource(ds => ds.Read(r=>r.Action("ReadMapOptions","EmrMappingKendo", new {Area="Messaging"})).ServerFiltering(true)).MinLength(3) )</div>