用剃刀写双引号

时间:2013-04-01 14:00:47

标签: c# razor asp.net-mvc-4

我是剃须刀的新手,我遇到了这个问题。怎么办? 如果条件满足,我需要写一个id属性。这是我尝试过的:

<select name="@LabelName" @if(LabelName.Contains("CHECK_STATUS")) { var id = "string\'"; @id }>//it prints string&#39;.

<select name="@LabelName" @if(LabelName.Contains("CHECK_STATUS")) { ViewBag.id = "id='check'"; @ViewBag.id }>//same problem id=&quoute;check&quoute;

建议?我需要打印出来。

1 个答案:

答案 0 :(得分:3)

你是如何在这个标签汤中结束的(我猜,和其他人一样,你没有使用视图模型)?您有HTML帮助程序,旨在生成下拉列表。你知道,比如:

@Html.DropDownListFor()

但是如果你想继续在汤里游泳,可以使用三元运算符有条件地输出id属性:

<select name="@LabelName"@Html.Raw(LabelName.Contains("CHECK_STATUS") ? string.Format(" id=\"{0}\"", id) : "")>

或者如果id在ViewBag中:

<select name="@LabelName"@Html.Raw(LabelName.Contains("CHECK_STATUS") ? string.Format(" id=\"{0}\"", ViewBag.id) : "")>

注意你应该如何使用Html.Raw帮助程序来避免HTML编码的值(这是@函数默认执行的操作)