Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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# xVal和验证多行数据_C#_Asp.net Mvc_Xval - Fatal编程技术网

C# xVal和验证多行数据

C# xVal和验证多行数据,c#,asp.net-mvc,xval,C#,Asp.net Mvc,Xval,我有一个具有以下架构的表名折扣: PK折扣整数 FK客户ID int 金额 名称varchar(50) 因此,我将显示与客户相关的所有折扣。每个客户将有3个折扣记录 生成表单时,关联文本框的ID和名称必须是唯一的,才能正确处理 范例 当我尝试使用xVal进行验证时,由于我的字段名与架构名“Amount_1”而不是“Amount”不匹配,因此它不会验证字段 我怎样才能让它工作 我不能为唯一的客户将所有3个折扣合并到一个记录中,因为为了简化示例,我遗漏了一些其他字段。我需要为三行中的每个客户提

我有一个具有以下架构的表名折扣:

PK折扣整数

FK客户ID int

金额

名称varchar(50)

因此,我将显示与客户相关的所有折扣。每个客户将有3个折扣记录

生成表单时,关联文本框的ID和名称必须是唯一的,才能正确处理

范例

当我尝试使用xVal进行验证时,由于我的字段名与架构名“Amount_1”而不是“Amount”不匹配,因此它不会验证字段

我怎样才能让它工作

我不能为唯一的客户将所有3个折扣合并到一个记录中,因为为了简化示例,我遗漏了一些其他字段。我需要为三行中的每个客户提供三个折扣

下面是一些代码:

<form method="post" action="ProcessUpdate">

<table>

<tr> <td> Discount 1 </td> <td> <%= Html.TextBox("Amount_1") %></td></tr> 
<tr> <td> Discount 2 </td> <td> <%= Html.TextBox("Amount_2") %></td></tr>
<tr> <td> Discount 3 </td> <td> <%= Html.TextBox("Amount_3") %></td></tr>

<tr> <td> <input type="submit" value="submit"/> </td> </tr>

</table> 
</form> 

<%= Html.ClientSideValidation<Discount>() %>

关于如何让它工作,有什么想法吗?

我已经使用了一些前缀,这就是如何做到的:

首先,您必须命名文本框,使其具有不同的前缀,但具有相同的属性名称“Amount”,然后通过为每个前缀调用Html.ClientSideValidation三次,将jquery验证程序附加到每个字段

<form method="post" action="ProcessUpdate">

<table>

<tr> <td> Discount 1 </td> <td> <%= Html.TextBox("discount1.Amount") %></td></tr> 
<tr> <td> Discount 2 </td> <td> <%= Html.TextBox("discount2.Amount") %></td></tr>
<tr> <td> Discount 3 </td> <td> <%= Html.TextBox("discount3.Amount") %></td></tr>

<tr> <td> <input type="submit" value="submit"/> </td> </tr>

</table> 
</form> 

<%= Html.ClientSideValidation<Discount>("discount1") %>
<%= Html.ClientSideValidation<Discount>("discount2") %>
<%= Html.ClientSideValidation<Discount>("discount3") %>

折扣1
折扣2
折扣3

希望这能有所帮助

我已经使用了一些前缀,这就是如何做到的:

首先,您必须命名文本框,使其具有不同的前缀,但具有相同的属性名称“Amount”,然后通过为每个前缀调用Html.ClientSideValidation三次,将jquery验证程序附加到每个字段

<form method="post" action="ProcessUpdate">

<table>

<tr> <td> Discount 1 </td> <td> <%= Html.TextBox("discount1.Amount") %></td></tr> 
<tr> <td> Discount 2 </td> <td> <%= Html.TextBox("discount2.Amount") %></td></tr>
<tr> <td> Discount 3 </td> <td> <%= Html.TextBox("discount3.Amount") %></td></tr>

<tr> <td> <input type="submit" value="submit"/> </td> </tr>

</table> 
</form> 

<%= Html.ClientSideValidation<Discount>("discount1") %>
<%= Html.ClientSideValidation<Discount>("discount2") %>
<%= Html.ClientSideValidation<Discount>("discount3") %>

折扣1
折扣2
折扣3

希望这有帮助

是的,那有帮助!这正是我想要的谢谢!是的,那有帮助!这正是我想要的谢谢!