2017-03-31 1 views
0

유효성 검사기 ErrorMessage에 일부 동적 텍스트가 필요합니다.동적 오류 텍스트가있는 ASP.NET 검사기

이 내가 할 노력하고있어,하지만이 작동하지 않는 것입니다 :

<td> 
    <asp:TextBox runat="server" ID="tbIncome_A_3" MaxLength="12"></asp:TextBox> 
    <asp:CompareValidator ID="comvIncome_A_3" runat="server" ControlToValidate="tbIncome_A_3" Display="Dynamic" Operator="DataTypeCheck" Type="Currency" 
    ErrorMessage="*Value entered for <%=DateTime.Today.Year - 3 %> Income must be a dollar value."> 
    <span class="alert">*</span> 
    </asp:CompareValidator> 
</td> 
... 
<div> 
    <asp:ValidationSummary ID="vs" runat="server" CssClass="alert alert-danger alert-dismissible" HeaderText="This page has been saved, but it's not complete." ForeColor="" EnableClientScript="false" EnableViewState="false" /> 
</div> 

나는 <%=DateTime.Today.Year - 3 %>이의 ValidationSummary에 '2014'로 렌더링 할 것으로 예상하지만, 대신 일반 텍스트로 렌더링합니다. 나는이 일을하기 위해 아주 사소한 것을 놓치고있는 것처럼 느껴진다.

답변

1

는 그것은 다음과 같이 수행 할 수 있습니다

ErrorMessage='<%# "*Value entered for " + DateTime.Today.AddYears(-3).Year + " Income must be a dollar" %>' 

당신이 페이지의 Page_LoadDataBind();를 호출 할 필요가있을 것이다 그러나. 어쨌든 뒤에 코드를 수정해야하므로, 거기에서 오류 메시지를 설정하지 않으시겠습니까? (DataBind()가 필요하지 않음)

tbIncome_A_3.ErrorMessage = "*Value entered for " + DateTime.Today.AddYears(-3).Year + " Income must be a dollar"; 
관련 문제