Tag: 模型绑定

如何发送jQuery $ .get以便Model Binder可以将字符串绑定到参数?

我很难让Model Binder工作。 我认为这是jQuery,所以我问了这个问题 ,但经过进一步的调查,我可以看到jQuery确实是将参数发送到服务器。 这就是我提出一个新问题的原因 – 这不再像我原先想的那样是一个jQuery问题。 背景: 我正在做的是向我的Action方法发送一个GET请求,如下所示: $.get($(this).attr(“href”), { “searchExpression”: “schroders” }, function (result) { // do stuff }, “html”); 这会创建以下URL: HTTP://本地主机:65091 /搜索/标签searchExpression =施罗德 我认为这会有效,并填充了Action方法: public PartialViewResult Tabs(string searchExpression) { return PartialView(new SearchViewModel { PagedFunds = _fundService.GetFunds(searchExpression) }); } 但是这个方法的路线定义为: routes.MapRoute( null, “search/{action}/{searchExpression}”, new { controller = “search”, action = “QuickSearch”, searchExpression = […]

将ViewModel映射到JS对象

是否有可能将模型(服务器端)映射到JS对象? 问题是我无法从服务器端返回json对象。 View.cshtml: @model TestModel jQuery(function ($) { var jsObject = { Property1: @Model.Property1, Property2: @Model.Property2, Property3: @Model.Property3, … }; }); 谢谢!

MVC中的ModelBinding参数列表

我正在尝试使用jQuery Datatables 1.10与服务器端处理和ASP.NET MVC 5.不幸的是,Datatables 1.10通过将复杂的对象层次序列化为param字符串( Content-Type: application/x-www-form-urlencoded来写入服务器Content-Type: application/x-www-form-urlencoded ),它打破了MVC ModelBinder 。 在MVC中,有没有办法将复杂的对象层次结构作为序列化参数列表进行绑定? 也许有人写过的自定义ModelBinder? 注意: 在ajax调用中设置traditional = true不起作用,因为它不支持对象的层次结构。 我最终得到的结果如下: draw=1& columns=[object Object]& columns=[object Object]& order=[object Object]& start=0& length=10& search=[object Object] 如果数据是由DataTables作为JSON发送的,那么我认为一切都会好的。 该问题源于数据作为参数列表发送的事实。 另请注意 接线表的代码: $(“#serverTable”).DataTable({ serverSide: true, ajax: { url: ‘/Home/GetTableData’, type: ‘POST’ } });

关于JSON和序列化的问题

我有一个强类型视图,我的viewmodel包含一个对象Person和一个技能列表。 人是非常直截了当的。 我使用像这样的Html Helpers @Html.TextBoxFor(m => m.Person.FirstName) 。 我提交表格并得到我想要的东西。 问题是我的技能清单。 通过AJAX调用,我得到一个JSON结果,这是一个技能数组。 我应该如何将技能和人员的组合发送到我的HTTPPOST方法? 我看到两种可能性。 我喜欢的,但不知道如何以正确的方式实现:以某种方式设法将此JSON结果放入我的viewmodel( List skilllist )并使用标准的提交按钮并在我的HTTPPOST方法中接收它。 (见内联评论) [HttpPost] public ActionResult RegisterPersonAndSkills(PersonSkillViewModel model) { // I can acces the Person object and its properties string firstname = model.Person.FirstName; // It would be awesome if I could access the list which used to be a JSONresult […]

如何使用Jquery Ajax进行模型绑定

我想使用模型绑定来保持我的控制器看起来更干净,你可以看到使用模型绑定有多好: public ActionResult Create(Person personToCreate) { //Create person here } VS public ActionResult Create(string firstName, string lastName, string address, string phoneNum, string email, string postalCode, string city, string province, string country) { //Create person here } 在进行模型绑定时,我们可以在Html.TextBox(“”)使用具有正确名称的表单 怎么样的jquery? 当我对Create(Person personToCreate)执行$.post(url, data, callback, dataType)或$.ajax(options)调用Person对象被正确填充时,如何确保?

ASP.NET MVC:如何’模型绑定’非html-helper元素

你能告诉我一种方法,我可以将模型属性绑定到一个html元素,不使用html帮助器创建? 换句话说,对于一个普通的html元素,例如:

如何动态创建/删除元素并允许模型绑定启动?

我过去做过这个,我可能要再做一次,但在此之前,我想把它扔出去看人们如何处理它。 剃刀观点: @Html.EditorFor(model => model.Questions) 这可能会产生: 很简单。 现在,我需要允许用户添加,编辑或删除任何这些“问题”。 对于编辑,这很简单 – 无需工作。 但是对于添加/删除,如果我用jQuery做,我需要聪明一点我生成“id”和“name”属性的方式(例如,计算有多少,加1,等等),对于删除,我会“重新渲染”一些元素(例如,如果删除了一个元素,我需要将“id”和“name”属性更改为-1,以用于所有后续元素)。 所有这一切都是因为它是一种forms,它需要模型约束。 这对我来说太毛茸茸了,所以在过去 ,我已经用表格上的任何内容对服务器进行了AJAX调用,然后在控制器中添加/删除元素,并渲染局部视图。 这样,所有元素都“准备好模型绑定”。 我仍然需要一点但jQuery,但远不及那么多。 有没有人找到更好的方法?