2

我想在 html 代码中使用 DateTime.Now.Month 显示/隐藏表格行,但我不记得正确的语法。我的意思是上面,但不是以这种方式工作。什么是正确的语法?提前致谢

<tr style='<%# DateTime.Now.Month==11? "display:none": "display:inline"%>' ></tr>
4

3 回答 3

3

DateTime.Now.Year 应该是 DateTime.Now.Month

于 2012-12-13T15:40:27.347 回答
2

您正在使用javascriptin style tagwhich 未执行。您可以在 body onload 事件或 jquery document.ready 事件上使用 javascript 来执行您的脚本。

您正在使用2 digit year并且您将获得4 digit year,您需要将 11 更改为 2011。

使用 Javascript

<body onload="CallTrShowHIde();">
    <table>    
      <tr id="tr1"  onload='alert("ac")' ><td>hello123</td></tr>
    </table>
</body>

function CallTrShowHIde()
{
      var year = '<%= DateTime.Now.Year %>';
      if (year == 2012)
            document.getElementById('tr1').style.display="none";
        else
            document.getElementById('tr1').style.display = "inline";  
 }

使用 jQuery。

<tr id="tr1">
     <td>Show or hide </td>
</tr>

 $(function () {
        var year = '<%= DateTime.Now.Year %>';
        if (year == 2012)
            $('#tr1').hide();
        else
            $('#tr1').hide();
 });
于 2012-12-13T15:39:42.347 回答
2

Asp 标签有多种口味。您编写的代码是正确的,但是因为您使用了错误的 asp 标签,所以没有显示任何内容。

这是您要使用的标签: <%= %>对于显示单条信息最有用

这是您当前使用的标签: <%# %>数据绑定表达式语法 这不起作用,因为您没有使用数据绑定,您只是在回显一个字符串。

更多信息在这里:http ://forums.asp.net/p/1139381/1828702.aspx 和这里http://msdn.microsoft.com/en-us/library/6dwsdcf5.aspx

于 2012-12-13T15:56:52.543 回答