ASP .NET前pressions(内嵌标签)用的String.Format [英] ASP .NET expressions (inline tag) with String.Format
本文介绍了ASP .NET前pressions(内嵌标签)用的String.Format的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道中庸之道是否有可能使用的String.Format
通过以下内嵌标签:
I was juste wondering if it was possible to use String.Format
with the following inline tag :
<asp:RequiredFieldValidator ControlToValidate="tbTest" Text="<%$ Resources:ErrorMsg, E3032 %>" runat="server" />
像这样如此
<asp:RequiredFieldValidator ControlToValidate="tbTest" Text='<%= String.Format(<%$ Resources:ErrorMsg, E3032 %>, "Other Text to insert")' runat="server" />
我知道你不能这样做,但它只是为图片。
I know you can't do that but it's just for the picture.
TX
推荐答案
我结束了创建为此我自己的前$ P $ pssion:
I ended up creating my own expression for this purpose :
web.config中:
web.config :
<expressionBuilders>
<add expressionPrefix="CreerMsgErreur" type="MsgErreurs, App_Code" />
</expressionBuilders>
的.aspx:
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="tbdDateFin"
CssClass="test" Text="<%$ CreerMsgErreur:E3033, insert, date %>"
ErrorMessage="<%$ CreerMsgErreur:E3033, insert, date %>"
runat="server" EnableClientScript="true" SetFocusOnError="true" />
的.vb:
Imports System
Imports System.CodeDom
Imports System.Linq
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.Compilation
Imports System.Web.UI
<ExpressionPrefix("Reflect")> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.LinkDemand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class MsgErreurs
Inherits ExpressionBuilder
Public Overrides Function GetCodeExpression(ByVal entry As System.Web.UI.BoundPropertyEntry, ByVal parsedData As Object, ByVal context As System.Web.Compilation.ExpressionBuilderContext) As System.CodeDom.CodeExpression
If parsedData IsNot Nothing Then
Return New CodePrimitiveExpression(CType(parsedData, MsgErreursParse).ToString())
End If
Return New CodePrimitiveExpression("Erreur de l'expression")
End Function
Public Overrides Function ParseExpression(ByVal expression As String, ByVal propertyType As System.Type, ByVal context As System.Web.Compilation.ExpressionBuilderContext) As Object
Dim leMsgErreur As MsgErreursParse = Nothing
If Not String.IsNullOrEmpty(expression) Then
leMsgErreur = New MsgErreursParse(expression)
Else
Throw New HttpException(String.Format("Message de l'expression MsgErreur vous devez entrer une expression."))
End If
Return leMsgErreur
End Function
Private Class MsgErreursParse
Private mNoErreur As String
Private mParametres As String
Public Property NoErreur() As String
Get
Return mNoErreur
End Get
Set(ByVal value As String)
mNoErreur = value
End Set
End Property
Public Property Parametres() As String
Get
Return mParametres
End Get
Set(ByVal value As String)
mParametres = value
End Set
End Property
Public Sub New(ByVal parametres As String)
Try
mNoErreur = parametres.Substring(0, parametres.IndexOf(",")).Trim()
mParametres = parametres.Substring(parametres.IndexOf(",") + 1).Trim()
Catch ex As ArgumentOutOfRangeException
mNoErreur = parametres
Catch ex As Exception
End Try
If String.IsNullOrEmpty(mNoErreur) Then
Throw New HttpException(String.Format("Message de l'expression MsgErreur : vous devez spécifier un code d'erreur ou les paramètres ne sont pas dans le bon format : {0}", parametres))
End If
End Sub
Public Sub New(ByVal noErreur As String, ByVal parametres As String)
mNoErreur = noErreur
mParametres = parametres
End Sub
Public Overrides Function ToString() As String
Try
If String.IsNullOrEmpty(Parametres) Then
Return Convert.ToString(HttpContext.GetGlobalResourceObject("MsgErreurs", NoErreur), System.Globalization.CultureInfo.CurrentCulture)
Else
Return String.Format(Convert.ToString(HttpContext.GetGlobalResourceObject("MsgErreurs", NoErreur), System.Globalization.CultureInfo.CurrentCulture), Parametres.Split(",").Select(Function(s) s.Trim()).ToArray())
End If
Catch ex As Exception
Throw New HttpException(String.Format("Message de l'expression MsgErreur : impossible de créer le message d'erreur : NoErreur : {0}, Parametres : {1}", NoErreur, Parametres))
End Try
End Function
End Class
End Class
这篇关于ASP .NET前pressions(内嵌标签)用的String.Format的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文