次のスキーマを持つテーブル名割引があります。
PK 割引 ID int
FK CustomerID int
金額
名前 varchar(50)
そのため、顧客に関連するすべての割引を表示しています。各顧客には 3 つの割引レコードがあります。
フォームを生成するときに、関連付けられたテキストボックスの ID と名前を編集用に生成すると、正しく処理するには一意である必要があります。
例
xVal を使用して検証しようとすると、フィールド名が「Amount」ではなく「Amount_1」というスキーマ名と一致しないため、フィールドが検証されません。
どうすればこれを機能させることができますか?
例を単純化するために省略した他のフィールドがいくつかあるため、3 つの割引すべてを一意の顧客の 1 つのレコードに結合することはできません。顧客ごとに 3 つの割引を 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>() %>
ここに私のメタデータ
[MetadataType(typeof(DiscountMetaData))]
public partial class Discount
{
public class DiscountMetaData
{
[Required(ErrorMessage = " [Required] ")]
public string Amount { get; set; }
}
}
それを機能させる方法についてのアイデアはありますか?