在 aspx 代码中,我们可以在验证控件 ErrorMessage 中使用 Templatefield .HeaderText 吗?
In aspx-code, can we use Templatefield .HeaderText within validation control ErrorMessage?
在 aspx 代码中,我想引用 Templatefield HeaderText 作为验证控件的 ErrorMessage 中的值,但不知道如何。我想减少复制粘贴错误。
我举了一个例子,说明我想将什么编码到 aspx 代码中。
<asp:TemplateField HeaderText="Last Name" SortExpression="cLASTNAME">
<EditItemTemplate>
<asp:TextBox ID="txtLastName" runat="server" Text='<%# Bind("cLASTNAME") %>' MaxLength="20" CssClass="ucIsRequired"></asp:TextBox>
<asp:RequiredFieldValidator ID="rqfvLastName" runat="server"
ControlToValidate="txtLastName"
ErrorMessage="'??HeaderText??**' value is required."
Display="none" ValidationGroup="valgrpDetails"
SetFocusOnError="False" Font-Size="Small"></asp:RequiredFieldValidator>
</EditItemTemplate>
...etc...
请注意ErrorMessage代码中的??HeaderText??。我想将 HeaderText ("Last Name") 插入到哪里 ??HeaderText??是这样的,当呈现错误文本时,错误文本将是:“'Last Name' value is required.”(当然,不带引号)。
我们非常欢迎您提出意见和解决方案并提供示例。
当然,如果有办法在代码隐藏中引用Templatefield的HeaderText,请提供示例片段。
提前谢谢...约翰
一个可能的解决方案是使用一个资源文件,然后在你需要并且不想重复字符串的时候读取它的值。
- 将名为
App_GlobalResources
的 asp.net 文件夹添加到您的网站根目录,并在其中添加一个新的 .resx 文件。称之为 HeaderNames.resx
.
- 打开该文件,添加一行:
LastNameHeaderText
作为名称,Last Name
作为值。
然后,在您的 RequiredFieldValidator
中将您的 ErrorMessage
属性 替换为以下内容:
ErrorMessage = '<%# Resources.HeaderNames.LastNameHeaderText + " value is required." %>'
最后,要在您的模板 header 上使用相同的内容,请在您的 GridView(或其他)数据绑定事件中添加以下内容:
protected void MyDataBound(object sender, EventArgs e)
{
((GridView)sender).Columns[1].HeaderText = Resources.HeaderNames.LastNameHeaderText;
}
在 aspx 代码中,我想引用 Templatefield HeaderText 作为验证控件的 ErrorMessage 中的值,但不知道如何。我想减少复制粘贴错误。
我举了一个例子,说明我想将什么编码到 aspx 代码中。
<asp:TemplateField HeaderText="Last Name" SortExpression="cLASTNAME">
<EditItemTemplate>
<asp:TextBox ID="txtLastName" runat="server" Text='<%# Bind("cLASTNAME") %>' MaxLength="20" CssClass="ucIsRequired"></asp:TextBox>
<asp:RequiredFieldValidator ID="rqfvLastName" runat="server"
ControlToValidate="txtLastName"
ErrorMessage="'??HeaderText??**' value is required."
Display="none" ValidationGroup="valgrpDetails"
SetFocusOnError="False" Font-Size="Small"></asp:RequiredFieldValidator>
</EditItemTemplate>
...etc...
请注意ErrorMessage代码中的??HeaderText??。我想将 HeaderText ("Last Name") 插入到哪里 ??HeaderText??是这样的,当呈现错误文本时,错误文本将是:“'Last Name' value is required.”(当然,不带引号)。
我们非常欢迎您提出意见和解决方案并提供示例。
当然,如果有办法在代码隐藏中引用Templatefield的HeaderText,请提供示例片段。
提前谢谢...约翰
一个可能的解决方案是使用一个资源文件,然后在你需要并且不想重复字符串的时候读取它的值。
- 将名为
App_GlobalResources
的 asp.net 文件夹添加到您的网站根目录,并在其中添加一个新的 .resx 文件。称之为HeaderNames.resx
. - 打开该文件,添加一行:
LastNameHeaderText
作为名称,Last Name
作为值。 然后,在您的
RequiredFieldValidator
中将您的ErrorMessage
属性 替换为以下内容:ErrorMessage = '<%# Resources.HeaderNames.LastNameHeaderText + " value is required." %>'
最后,要在您的模板 header 上使用相同的内容,请在您的 GridView(或其他)数据绑定事件中添加以下内容:
protected void MyDataBound(object sender, EventArgs e) { ((GridView)sender).Columns[1].HeaderText = Resources.HeaderNames.LastNameHeaderText; }