私はこのように、ItemTemplates内で宣言されているCompareValidatorsの数を持っている:データバインドされた文字列プロパティをローカライズするにはどうすればよいですか?
<asp:CompareValidator
runat="server"
ID="ValueMinValidator"
Display="Dynamic"
Text="*"
ForeColor="Red"
ErrorMessage='<%# Eval("Description") + " below minimum " + Eval("Minimum") %>'
Tooltip='<%# Eval("Description") + " below minimum " + Eval("Minimum") %>'
ControlToValidate="Value"
ValueToCompare='<%# Eval("Minimum") %>'
Operator="GreaterThanEqual"
Type="Double"
Enabled='<%# Eval("Minimum") != null %>' meta:resourcekey="ValueMinValidatorResource1"></asp:CompareValidator>
エラーメッセージが表示され、ツールチップのプロパティは、現在、適切な検証のフィードバックを構築するために、文字列フラグメントでバインドされたデータ値を結合しています。これらの検証メッセージをローカライズし、他のアイテムプロパティにデータバインディングを保持したいと思います。これを達成する最良の方法は何ですか?背後
<asp:GridView ID="gvData" AutoGenerateColumns="false" runat="server" OnRowDataBound="gvData_RowDataBound">
はコード:
protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
{
DataObject dataObject;
CompareValidator valueMinValidator;
string description, errorMessage;
if (e.Row.RowType == DataControlRowType.DataRow)
{
dataObject = (DataObject)e.Row.DataItem;
valueMinValidator = (CompareValidator)e.Row.FindControl("ValueMinValidator");
description = dataObject.Description;
errorMessage = string.Format("{0} below minimum {1}", description, dataObject.Minimum); //localize dataObject.Minimum as needed
valueMinValidator.ErrorMessage = errorMessage;
valueMinValidator.ToolTip = errorMessage;
}
}
あなたはあなたができることについてですが、GridViewの中でこれを実装OnRowDataBoundイベントにコードを実行するには:
HTMLを
https://msdn.microsoft.com/en-us/library/ms227427.aspx –
@GlennFerrie私はすでに地元の暗黙的な使用しています他のローカライズされたテキストのリソース。私はどのようにデータバインディング式にリソースを埋め込む/参照するかわかりません。 – Hydrargyrum