2012-04-16 1 views
0

У меня есть некоторый код, как:MVC C# вид не позволяет, если оператор в теге

<table class="invisibleforprint"> 
    <thead> 
     <tr class="mainheader"> 
      <th>@Html.ActionLink("Invoice Number", "Index", new { sortOrder= ViewBag.NumberSortParm })</th> 
     </tr> 
    </thead> 
    <tbody> 
    @foreach (var item in Model) { 
     <tr> 
      <td class="invoiceActions"> 
       <input type="button" class="btnresetinvoice button" value="Reset" data-invoiceid="@item.InvoiceId" /> 
      </td> 
     </tr> 
    }</tbody> 
</table> 

Какой скомпилированный штрафа. Я пошел и добавил, если заявление на входе:

<table class="invisibleforprint"> 
    <thead> 
     <tr class="mainheader"> 
      <th>@Html.ActionLink("Invoice Number", "Index", new { sortOrder= ViewBag.NumberSortParm })</th> 
     </tr> 
    </thead> 
    <tbody> 
    @foreach (var item in Model) { 
     <tr> 
      <td class="invoiceActions"> 
       <input type="button" class="btnresetinvoice button" value="Reset" data-invoiceid="@item.InvoiceId" @{ if(item.PMApproved != true) { @:disabled="disabled" } } /> 
      </td> 
     </tr> 
    }</tbody> 
</table> 

Это дает ошибку «} ожидаемый»

Скажите, что? Я добавил равное количество открывающих закрывающих скобок.

Кто-нибудь знает, что я сделал неправильно?

+0

Почему бы вам не воспользоваться помощниками? Это похоже на ужасный суп-суп. –

ответ

1
<input type="button" class="btnresetinvoice button" value="Reset" data-invoiceid="@item.InvoiceId" @(item.PMApproved != true ? "disabled='disabled'" : "") /> 
0

Вместо использования фигурных скобок вокруг вашего оператора if вы должны использовать обычные скобки.

т.е .:

@(if(item.PMApproved != true) { @:disabled="disabled" }) 

Можете ли вы дать, что попробовать?

+0

Пробовал, но ему это не нравится – AnonyMouse

+0

Btw нет необходимости сравнивать значение boolean с true/false. Вы можете просто написать 'if (item.PMApproved) {...}' –

+0

В этом случае я делаю это, потому что это nullable bool – AnonyMouse

0

Вы можете выполнить следующую порнографию (но, пожалуйста, не):

<input type="button" class="btnresetinvoice button" value="Reset" data-invoiceid="@item.InvoiceId" @Html.Raw(item.PMApproved ? "disabled=\"disabled\"" : "") /> 

или использовать хелперы, как я suggested you:

@Html.ApproveButton(item) 
1
<input type="button" value="Reset" data-invoiceid="@item.InvoiceId" @(item.PMApproved ? "disabled=\"disabled\"" : null) /> 

Или вы можете использовать @if с <text> тег:

<input type="button" value="Reset" data-invoiceid="@item.InvoiceId" @if(item.PMApproved) { <text>disabled="disabled"</text>} />