2014-08-29 39 views
0

我有一个模型限制:如何使可能具有示范或可能性冗余特性添加到引用一次性

public string portefeuille 
    public int AssetID {get;set;} 
    public int SegmentID {get;set;} 
    public int SubAssetID {get;set;} 
    public int Min {get;set;} 
    public int Max {get;set;} 

而且我想两次,必须有由assetid,SegmentID和SubAssetID的可能性让用户填写2次这个信息,然后提交参考,或者如果不可能在一次中添加两个限制参考。

有人有想法吗?

谢谢你的帮助!

+1

将'int AssetID'更改为'List AssetID'? – paul 2014-08-29 09:38:33

+0

不,我必须保持相同的结构,因为我有DropDownlist每个人 – intern 2014-08-29 09:40:52

回答

0

只需为该问题创建另一个视图模型。

public sealed class Restriction 
{ 
    public sealed class Asset 
    { 
     public int AssetId { get; set; } 
     public int SegmentId { get; set; } 
     public int SubAssetId { get; set; } 
    } 

    public string Portefeuille { get; set; } 
    public int Min { get; set; } 
    public int Max { get; set; } 

    [Required] 
    public Asset AssetOne { get; set; } 

    // Not required and, therefore, optional. 
    public Asset AssetTwo { get; set; } 
} 
+0

谢谢,但它是什么意思密封? – intern 2014-08-29 09:41:57

+1

如果需要在客户端代码中实例化,嵌套公共类不符合框架设计准则。使用嵌套类的任何理由? – 2014-08-29 09:43:04

+0

@SriramSakthivel答案不是关于嵌套。 – AgentFire 2014-08-29 09:44:51

0

如果您确定不会有两个以上的AssedID,您可以在模型中创建两个AssetID。

第二种方法是创建paul写列表AssetID,它将允许您向该模型添加多个AssetId。

第三种方法是使用其他类作为

public class Restrictions 
{ 
    public List<Restricion> RestricionsList {get;set;} 
} 

,然后用它页。

希望这会有所帮助。

+0

对于第一个命题,在同一个模型中不可能有相同的名称,所以我不明白怎么看这个?第二个解决方案我不知道谁是保罗没有评论名为保罗谁在这个页面发表评论!最后第三个解决方案不可能太所以我不明白为什么说这一切.. – intern 2014-08-29 13:30:05

+0

1)你可以创建AssetID1和AssetID2 2)保罗评论你的问题,而不是回答,但评论3)这是可能的,如果你建立适当的观点 – 2014-08-29 16:22:11