-4

我有以下代码在 VS2008 和 .NET3.0 上运行良好,但在迁移到 VS2010 和 .NET 4.0 后失败

我收到一个错误:

服务器标签格式不正确

下面是代码,请指教!

<td valign="top" align="center" class="CRMtdLabelSingleColNoBold">
   <input id="radCustomAuditType" name="<%#"AuditType"%>" type="radio" runat="server" value="<%#DataBinder.Eval(Container.DataItem, "audit_type_code") & "," &  If(DataBinder.Eval(Container.DataItem, "custom_audit_survey_id") IsNot DBNull.Value, DataBinder.Eval(Container.DataItem, "custom_audit_survey_id").ToString(), "") %>" "<%# iif(DataBinder.Eval(Container.DataItem, "AuditType") = True And CheckBoxCustomAuditType = True, " checked=""True""", "")%>" "<%# iif(CheckBoxCustomAuditType = False OR DataBinder.Eval(Container.DataItem, "audit_type_code").IndexOf("WYTWS-") <> -1, " disabled=""disabled""", "")%>" "<%# iif(DataBinder.Eval(Container.DataItem, "audit_type_code").IndexOf("WYTWS-") <> -1, " WYTWS=""true""", "")%>"/>  
</td>
4

1 回答 1

4

您应该在后面的代码中将此逻辑实现到 C# 函数中,也许实现Bound or Bind event.

name任何方式看起来都需要在and中替换单引号的双引号value

<input 
id="radCustomAuditType" 
name='<%# AuditType %>' 
type="radio" 
runat="server" 
value='"<%#DataBinder.Eval(Container.DataItem, "audit_type_code") &&  
         If(DataBinder.Eval(Container.DataItem, "custom_audit_survey_id") IsNot DBNull.Value, 
            DataBinder.Eval(Container.DataItem, "custom_audit_survey_id").ToString(), "") %>" 
            "<%# iif(DataBinder.Eval(Container.DataItem, "AuditType") = True And 
             CheckBoxCustomAuditType = True, " checked=""True""", "")%>" 
            "<%# iif(CheckBoxCustomAuditType = False OR 
             DataBinder.Eval(Container.DataItem, "audit_type_code").IndexOf("WYTWS-") <> -1, " disabled=""disabled""", "")%>" 
            "<%# iif(DataBinder.Eval(Container.DataItem, "audit_type_code").IndexOf("WYTWS-") <> -1, 
        " WYTWS=""true""", "")%>'
/>
于 2013-08-07T20:20:41.580 回答