问题标签 [mvccontrib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1876 浏览

asp.net-mvc - 使用 MVCContrib 进行排序

有谁知道在使用复杂对象时如何对 MVCContrib 网格进行排序。

我的网格正在显示 Person 列表,我正在尝试对 Country 属性进行排序。问题是 Country 是一个 Address 类的属性,它是 Person 的一个属性。

人.地址.国家

例外:
没有为类型“{Namespace}.Person”定义属性“Country”
var sourceProp = Expression.Property(sourceParam, this.SortBy); \MVCContrib\UI\Grid\Sortable\ComparableSortList.cs 行:41

任何的意见都将会有帮助。

谢谢,

MG1

0 投票
3 回答
548 浏览

asp.net-mvc - MVC 视图中的 DRY

我一直在使用 asp.net 网络表单,有人认为我喜欢的是与生成的标记的一致性,例如,如果您为 TextField 创建复合控件,则可以在单个类中控制生成的标记,例如和不要破坏 SRP:

我你要手动生成标记,它可能看起来像这样:

问题是何时想要更改某些内容,例如添加包装 div 或移动跨度。在最坏的情况下,您必须编辑数千个视图。

这就是为什么我真的很喜欢 MVC Contrib FluentHtml。

我的问题是您认为为上面的代码行添加包装 div 的最佳方法是什么?由于上述论点,我认为手写不是一种选择?也许扩展 TextBox : MvcContrib.FluentHtml.Elements.TextInput?

0 投票
2 回答
680 浏览

asp.net-mvc - 在视图中使用 MVC Contrib FluentHtml

如果我理解正确,要在我的视图中使用 MVC Contrib 的 FluentHtml,我需要将我的视图更改为从 MvcContrib.FluentHtml.ModelViewPage 而不是 System.Web.Mvc.ViewPage 继承。

如果这样做,我会失去 System.Web.Mvc.ViewPage 提供的任何功能吗?

0 投票
4 回答
8741 浏览

asp.net-mvc - ASP.net MVC - 如何在各种视图上持久化模型

情况:在一些用 asp.net 编写的项目管理软件中,我有一个创建项目页面(工作正常)。我需要添加将任务从模板列表添加到此项目预创建的能力,但可用任务列表取决于创建表单中的某些值。

我的抽象解决方案是这样的:

  • 我有一个“创建”视图和一个“添加任务”视图 - 都强类型到控制器中定义的复合视图模型
  • 我的 Create 方法检查使用哪个按钮来调用它 - 如果按钮是“添加任务”,它会呈现 AddTasks 视图,从创建视图传递模型,再次全部在同一个控制器中。
  • AddTasks 视图使用两个按钮之一发布到创建视图,一个加载视图,另一个导致实际的数据库保存。

我的问题是这样的:

  • 不同的视图使用相同模型的不同属性,但是在它们之间传递这个模型时,数据被重置(在任何情况下都重新加载或保存)。
  • 我猜这是由于数据的自动绑定而发生的——尽管我认为表单上不存在的字段不会覆盖传递下来的现有模型数据。
  • 目前在控制器中几乎没有任何代码来操作模型——在这些情况下,它只在视图之间传递。

这是控制器代码:

问题是:如何在这些视图中维护模型的状态,直到最终保存它?

我宁愿避免使用任何 hackish(TempData)或 JS 依赖的解决方案,但如果它们真的是最好的解决方案,我不会拒绝这些。

谢谢,亚当托利

0 投票
2 回答
590 浏览

c# - 如何使用实体框架和 FluentHtml 设置外键对象

我要做的是通过 FluentHtml 在 EF 实体中设置外键对象。我有一个 Foo 实体,它通过 Foo.Bar 引用了对象 Bar。我想要做的是在我的视图表单中设置 Bar 的值。我的模型通过 Model.Bars 包含所有 Bars 的集合。在我看来,我只是在使用<%= this.Select(m => m.Foo.Bar).Options(Model.Bars) %>,但模型状态声称它无效。下拉列表中正确填充了 Bar id,并且看起来都有效。在我的表单中设置 EF 实体引用属性是否需要一些特殊的魔法?

我刚从 Linq2SQL 移过来,我只是使用 Select(m => m.Foo.BarId),因为您可以映射键引用以及对象。但是,实体框架不允许这样做。

0 投票
21 回答
29510 浏览

c# - 反映参数名称:滥用 C# lambda 表达式还是语法高明?

我正在查看MvcContrib Grid 组件,我很着迷,但同时又被Grid 语法中使用的句法技巧所排斥:

上面的语法将生成的 HTML 的样式属性设置为width:100%. 现在,如果您注意,没有指定“样式”。它是从表达式中的参数名称推导出来的!我不得不深入研究并发现“魔术”发生的地方:

所以确实,代码使用正式的、编译时的、参数名称来创建属性名称-值对的字典。由此产生的语法结构确实非常具有表现力,但同时也非常危险。

lambda 表达式的一般使用允许替换使用的名称而不会产生副作用。我在一本书中看到一个例子,它说collection.ForEach(book => Fire.Burn(book))我知道我可以在我的代码中编写collection.ForEach(log => Fire.Burn(log))这意味着同样的事情。但是突然之间有了 MvcContrib Grid 语法,我发现代码可以根据我为变量选择的名称主动查找和做出决定!

那么对于 C# 3.5/4.0 社区和 lambda 表达式爱好者来说,这是一种常见的做法吗?还是流氓是我不应该担心的特立独行?

0 投票
2 回答
837 浏览

asp.net-mvc - DropDownList 的输入构建器,其中包含来自 mvc contrib 中的 DB 的数据

我有这样的东西

在 mvc contrib 中有一个用于枚举的输入构建器,但这对我不利,因为我从数据库中检索数据并且我保存了所选元素的 ID 而不是值

0 投票
1 回答
1077 浏览

asp.net-mvc - 无法在 Spark 视图中使用流畅的 html lambda 表达式

我正在尝试在我的 asp.net mvc 应用程序中使用流利的 html 和 spark 视图引擎。我已经分配了正确的基类,添加了程序集,当我这样做时。TextBox("MyProperty") 它工作正常。但是,当我尝试使用 this.TextBox(m=>m.MyProperty) 时出现以下异常。知道是什么原因造成的吗?

例外:

0 投票
2 回答
1355 浏览

asp.net-mvc - 如何使 Input Builders (MVC Contrib) 与 Spark View Engine 一起工作?

今天我花了三个小时尝试转换MVC Contrib中包含的项目 MvcContrib.Samples.InputBuilders以使其与Spark View Engine一起使用,但到目前为止还无法这样做。

有没有人知道为什么这两个人不能相处?

我所做的更改

InputForm.spark:

全球.asax.cs:

网络配置:

(我从示例项目中复制了最后三个命名空间。)

我遇到的错误

根据我在 Global.asax.cs 中设置 Spark/InputBuilder 的顺序,我得到两个不同的异常。

如果我首先设置 InputBuilder,然后是 Spark(代码如上所示):

错误 CS1061:“System.Web.Mvc.HtmlHelper”不包含“InputForm”的定义,并且找不到接受“System.Web.Mvc.HtmlHelper”类型的第一个参数的扩展方法“InputForm”(您是否缺少using 指令或程序集引用?)

如果我首先设置 Spark,然后 InputBuilder:

找不到视图“InputForm”或其主视图。搜索了以下位置:

~/Views/Home/InputForm.aspx

~/Views/Shared/InputForm.aspx

~/Views/InputBuilders/InputForm.aspx

~/Views/Home/InputForm.ascx

~/Views/Shared/InputForm.ascx

0 投票
3 回答
3929 浏览

asp.net-mvc - MVCContrib,Html.Grid:如何将基于行的 id 附加到 td 标签?

这是我当前的视图代码:

我想将一个 HTML“id”属性附加到每个“name”td 标签,如下所示:

我的问题:

我该怎么做呢?

我考虑了“属性”扩展方法,但我不确定如何使它工作。