我试图为输入创建一个id通过执行以下操作MVC3剃刀级联问题
id="@ViewData.ModelMetadata.ContainerType.Name + "_" + @ViewData.TemplateInfo.GetFullHtmlFieldId("FromDate")"
,但它是未来通过与ID =“PROPERTYNAME +”。如何在剃刀视图中将两者连同中间的下划线连接起来?
我试图为输入创建一个id通过执行以下操作MVC3剃刀级联问题
id="@ViewData.ModelMetadata.ContainerType.Name + "_" + @ViewData.TemplateInfo.GetFullHtmlFieldId("FromDate")"
,但它是未来通过与ID =“PROPERTYNAME +”。如何在剃刀视图中将两者连同中间的下划线连接起来?
可以使用@(expression)
语法来表达一个明确的代码表达式。
您需要在此明确指出,因为@ViewData.ModelMetadata.ContainerType.Name
之后的空格对于C#标识符而言不是有效字符,因此评估会在此处停止。
用于处理隐含代码表达使用剃刀的算法如下:
(来自ScottGu's Blog两者)
尝试这样的:
id="@(ViewData.ModelMetadata.ContainerType.Name)[email protected](ViewData.TemplateInfo.GetFullHtmlFieldId("FromDate"))"
或像这样:
id="@string.Format("{0}_{1}", ViewData.ModelMetadata.ContainerType.Name, ViewData.TemplateInfo.GetFullHtmlFieldId("FromDate"))"
id="@(ViewData.ModelMetadata.ContainerType.Name + "_" + ViewData.TemplateInfo.GetFullHtmlFieldId("FromDate"))"
也是一个很好的一个;-) – DanielB