小编one*_*ill的帖子

角度重复有条件地包含在Dom中

我在重复一遍.如何在循环中有条件地添加一些html.到目前为止,我有以下代码:

<div ng-show="showCondition">
    <div>
         ...
         <input name="bla[{{obj.value}}].Id type="Text" /> 
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这当然隐藏了HTML.但我仍然最终将输入内容发送到服务器以进行迭代,我不希望输入存在.

我不能使用ng-include,因为html在循环中位于同一个文件中.

我怎么才能说,"如果是真的,在循环的迭代过程中渲染下面的html"?

谢谢

angularjs

1
推荐指数
1
解决办法
37
查看次数

在客户端上使用Angular进行服务器端表单验证

我目前有一个项目,我将客户端的东西转换为Angular,因为我喜欢它的绑定方面.目前,我正在服务器上进行表单验证.经过多年在客户端和服务器上的操作,我发现我的偏好是通过对服务器的AJAX请求来实现.因此,设计中没有客户端表单验证.

它是一种享受,我可以使用jQuery来点亮表单中的任何验证错误,这些错误在ModelState中以json的形式发送回客户端.

现在是Angular.我想保留这个实现,但我觉得我正在反对这项技术.Angular似乎坚持客户端验证.

在收到带有验证错误的AJAX响应时,是否有办法告诉Angular验证机制什么是无效的,所以我仍然只能使用服务器端验证?

编辑 我应该包含一个链接到我基于我的实现的帖子 - http://timgthomas.com/2013/09/simplify-client-side-validation-by-adding-a-server/正如你所看到的,它不使用Angular.最好采用它的服务器端方面并使其与AngularJs一起使用

谢谢

asp.net-mvc angularjs

1
推荐指数
1
解决办法
1375
查看次数

ViewModel 作为 ViewModel 的成员

我一直在使用 MVVM Light Toolkit 来帮助学习 MVVM 模式。但是,我一直无法解决控件场景中的用户控件问题。

例如,在时间表应用程序中,假设我们有一个名为 NewUnitOfWork 的控件。首次加载时,带有项目列表的 ListBox 的面板将作为 NewUnitOfWork 的内容加载。用户点击一个。一个新面板与一个包含该项目可能任务的 ListBox 交换。选择一个任务并加载一个新面板,该面板将包含用于为所选项目的所选任务输入数据的控件。

因此,我们将一个用户控件中的选定项目传递给其他两个用户控件,这些用户控件又作为 NewUnitOfWork 控件(或窗口)的内容交换。

如果每个控件都有自己的 ViewModel,我们需要将选定的值从一个 ViewModel 传递到下一个等等。

我使用全局变量(通过“服务”)让它在单用户情况下工作。但是,它存在并发问题,这不是一个好的解决方案。这是低于标准的。

我在这个论坛上多次看到建议将 ViewModel 作为另一个 ViewModel 的成员。虽然这解决了手头的问题,但我认为这违反了 MVVM 模式。另一个 ViewModel 不是 ViewModel 应该直接拥有的 UI 相关功能。

所以。有没有人找到一种干净的符合 MVVM 的方法来做这种事情?

干杯

mvvm mvvm-light

0
推荐指数
1
解决办法
3107
查看次数

使用Struct的ModelBinding问题

我有一个ViewModel,它包含以下结构:

public struct PricesAndDiscounts
{
    public decimal FlatOff;
    public decimal UnitPrice;
    public decimal TotalDiscount;
    public decimal TotalOptions;
    public decimal TotalOrderPrice;
}
Run Code Online (Sandbox Code Playgroud)

ViewModel处于层次结构中,因此存在类型为PricesAndDiscounts的属性,该属性是DisplayRowPriceViewModel的成员,DisplayRowPriceViewModel是ManageOrderEditModel的成员:
-ManageOrderEditModel --DisplayRowPriceViewModel
.

请求的"形状"完全按照我的期望和期望(参见表单项的Fiddler截图):

在此输入图像描述

但是,在服务器上,默认的模型绑定器将结构实例化为每个成员的零.ViewModel中的其他所有内容都是由ModelBinder创建的,没有任何问题.

我是否需要为自定义结构创建自定义ModelBinder?

编辑 - 添加更多详细信息
签名是:

public ActionResult ManageOrder([FromBody]ManageOrderEditModel model)
Run Code Online (Sandbox Code Playgroud)

我在没有FromBody属性的情况下尝试过它.此外,PriceAndDiscounts是一个结构的事实并不是问题.我把它改成了一个类,所有成员都以零的形式出现,而不是你从表单中看到的Fiddler中的值.

ManageOrderEditModel

public class ManageOrderEditModel
{
    public DisplayOptionsInDropDownViewModel DisplayOptionsInDropDownViewModel { get; set; }
    public DisplayRowPriceViewModel DisplayRowPriceViewModel { get; set; }

    public int ID { get; set; }
    public int RegType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

DisplayRowPriceViewModel

public class DisplayRowPriceViewModel
{
    public Discount Discount { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc modelbinders asp.net-mvc-5

0
推荐指数
1
解决办法
538
查看次数