我正在使用一个列表视图,它使用Mysql作为数据源。在Mysql上,我有一个名为“ Master”的字段,其中只有“ 1”或“ 0”。我希望绑定发生时,如果该字段包含1,则将其替换为刻度,如果其为0,则将其替换为x。这些标签也是hrefs,因此我可以单击它们并更改为其相反的值(至少这是我想要在此处完成的功能)
我正在使用以下代码来测试IF语句:
<td>
<asp:Label
runat="server"
Text='<%# Eval("Master").ToString() == "1" ? "a" : "b"
%>'>
</asp:Label>
</td>
到目前为止,它已经完成了工作。但是,当我用html代码代替“ a”或“ b”时,出现错误:
解析器错误说明:解析服务该请求所需的资源期间发生错误。请查看以下内容 具体的解析错误详细信息并修改您的源文件 适当地。
解析器错误消息:服务器标记不正确 形成。
这是我要使用的代码:
<td>
<asp:Label
runat="server"
Text='<%# Eval("Master").ToString() == "1" ?
"<a href='#' style='color:#269302; font-size:25px;'><i class='fas fa-check'></i></a>" :
"<a href='#' style='color:#bf2727; font-size:25px;'><i class='fas fa-times'></i></a>"
%>'>
</asp:Label>
</td>
有人可以解释为什么在此代码中使用html标签会向我显示错误吗?
答案 0 :(得分:0)
如果有人和我有同样的问题,我找到了解决方法!
我不是在内部代码中使用If语句,而是在后面的代码中使用了一个函数。
这是我的.aspx页面上的样子:
<asp:Label
runat="server"
Text='<%# ConvertIcon(Convert.ToInt32(Eval("Master")))%>'>
</asp:Label>
ConvertIcon是我的函数的名称。这就是我的.aspx.cs页面上的样子:
protected string ConvertIcon(Nullable<int> binarydata)
{
string labelText = string.Empty;
if (binarydata == 1)
labelText = "<a href='#' style='color:#269302; font-size:25px;'><i class='fas fa-check'></i></a>";
else
labelText = "<a href='#' style='color:#bf2727; font-size:25px;'><i class='fas fa-times'></i></a>";
return labelText;
}