Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加不带ViewModelClass.ModelClass注释的ModelStateError_C#_Asp.net Mvc_Validation_Modelstate - Fatal编程技术网

C# 添加不带ViewModelClass.ModelClass注释的ModelStateError

C# 添加不带ViewModelClass.ModelClass注释的ModelStateError,c#,asp.net-mvc,validation,modelstate,C#,Asp.net Mvc,Validation,Modelstate,我为我的模型创建了一个特殊的viewmodel类,用于将要计算的数据添加到模型中,比如一些int for time public class SessionView { public Session Session { get; set; } public int StartHour { get; set; } public int StartMin { get; set; } public int EndHour { get; set; } public

我为我的模型创建了一个特殊的viewmodel类,用于将要计算的数据添加到模型中,比如一些int for time

public class SessionView
{
    public Session Session { get; set; }
    public int StartHour { get; set; }
    public int StartMin { get; set; }
    public int EndHour { get; set; }
    public int EndMin { get; set; }
}
当我使用自定义验证器进行验证时,我将错误添加到ModelState,而不使用视图所需的“.Session”来找到在回发时添加错误的正确位置


如何才能显示错误,将其添加为
ModelState.addmodeleror(“Name”,“error”)
,而不是
ModelState.addmodeleror(“Session.Name”,“error”)

恐怕这是不可能的。如果在视图中有以下字段:

@Html.EditorFor(x => x.Session.Name)
@Html.ValidationMessageFor(x => x.Session.Name)
然后它对应的
ModelState
键是
Session.Name
,如果您想将其与错误消息关联,则应该使用该键

但为了避免这些问题,您可以使用数据注释或编写自定义验证属性,然后用这些属性装饰相应的属性。这样,您就不必担心键了,因为如果您使用集合-
会话[3]。Name
,情况可能会变得更糟


作为数据注释的替代方法,您可以签出。

对不起,您的问题一点也不清楚。你能澄清一下吗?