2015-10-26 3 views
0

Можно ли использовать, если состояние внутри репитера контролируется на asp.net webform?Условие IF в ретрансляторе - asp.net

Мне нужно указать значение поля PercentEngineeringDesign, если ScopeTypeID = 2 в противном случае показывает пустое поле.

Я получаю ошибку на истинной части (второй параметр).

<td><%# If(DataBinder.Eval(Container.DataItem, "ScopeTypeID").ToString() = "2", <%#DataBinder.Eval(Container.DataItem, "PercentEngineeringDesign")%>, "")%> </td> 
+0

Вы не должны делать это в разметке. Вы должны выполнить эту проверку в коде позади и сохранить уже полученный результат в источнике данных, чтобы разметка должна была привязываться к полученному в результате свойству. – Servy

ответ

0

Я не думаю, что вы можете использовать теги <%. Попробуйте просто:

<td><%# If(DataBinder.Eval(Container.DataItem, "ScopeTypeID").ToString() = "2", DataBinder.Eval(Container.DataItem, "PercentEngineeringDesign"), "")%> </td> 

Или еще лучше, сделать эту логику в вашей модели вместо в разметки.

0

вы можете создать другое свойство в классе и делать всю работу там, то просто показать результат в повторителе так же, как это:

public int ID { get;set;}; 
public int Code {get { // Do Your if condition here }} 

затем отображать код как statue of ID

Смежные вопросы