在 DetailsView 中,其中一个控件是名为 PrimaryPhone 的 TextBox。
PrimaryPhone 使用 ASP:literal 控件中的 string.Format 进行格式化。
数据在数据库中是这样存储的:
9781231234
它使用 Iif 函数来处理 10 位数字条目的格式。
<asp:TemplateField HeaderText="Primary Phone:" SortExpression="PrimaryPhone">
<EditItemTemplate>
<asp:TextBox ID="TextBoxPrimaryPhoneEdit" runat="server" Text='<%# Bind("PrimaryPhone") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBoxPrimaryPhoneInsert" runat="server" Text='<%# Bind("PrimaryPhone") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Literal ID="PrimaryPhoneLiteral" runat="server"
Text='<%# iif(Len(Eval("PrimaryPhone"))=10,
string.Format("{0:(###) ###-####}", Int64.Parse(Eval("PrimaryPhone").ToString())),
Eval("PrimaryPhone")) %>' />
</ItemTemplate>
<ItemStyle ForeColor="Blue" />
</asp:TemplateField>
我们想从 VB.Net 代码隐藏文件中格式化 PrimaryPhone 而不是 Iif 函数,因为电话号码可能是:
10 digits
7 digits
一些电话号码也丢失了。
我们希望根据输入到 PrimaryPhone DetailsView TextBox 中的数字长度对其进行格式化。我们希望为此使用 Case 语句。
是否也可以验证 EditItemTemplate 和 InsertItemTemplate 中的电话号码条目,并在电话号码不是 10 位或 7 位数字时显示 Ajax 验证标注扩展程序?
您能否显示从代码隐藏文件中格式化 PrimaryPhone 所需的编码?