【问题标题】:Changes HTML attr with inline scripting使用内联脚本更改 HTML attr
【发布时间】:2010-12-26 07:07:07
【问题描述】:

我正在尝试这样做:

  <asp:GridView ID="gvBugList" runat="server" AutoGenerateColumns="False" ShowHeader="False"
      DataSourceID="linqDSBugList" Width="100%" AllowPaging="true" PageSize="20" DataKeyNames="BugID">
      <Columns>
        <asp:TemplateField>
          <ItemTemplate>
            <div class="messageHeader" id='<%# String.Format("Message_{0}",Eval("BugID")) %>' style='<% if(Eval("Status") == true) return "background:green";%>'>
              <a href="#" onclick="BuggyBag.openMesage(this)">
                <%#Eval("Subject") %></a>
            </div>
            <div class="messageCollapse">
              <b>Message :</b><p>
                <%# Eval("Message") %>
              </p>
              <input type="button" onclick="BuggyBag.SetStatus(this,true)" value="Set Resolved"
                id='<%#Eval("BugID") %>' />
            </div>
          </ItemTemplate>
        </asp:TemplateField>
  </Columns>
</asp:GridView>

在此代码中,我想根据数据来自数据库的状态字段更改 messageHeader 样式属性。如何使用内联脚本来做到这一点。如您所见,我尝试在 messageHeader 的样式 attr 处执行此操作,但没有成功。

谢谢。

【问题讨论】:

    标签: asp.net css gridview inline-scripting


    【解决方案1】:

    在您的样式属性中,您需要添加以下内容:

    <%= ((bool)Eval("Status")) ? "background:green" : "" %>
    

    【讨论】:

    • 实际上它对我的问题不起作用。但我在稍微更改代码后找到了解决方案:style=&lt;%# ((bool)Eval("Status") == true) ? "background:green" : "" %&gt;
    • 太糟糕了,我很久没有做过 Evals 和 Binds(感谢 MVC),以至于我忘记了演员表。已更新您的代码。
    • MVC 真的值得离开老式网页吗?
    • 它并不适合所有人,但对我来说,它比普通的 ASP.NET 好 1000 亿倍。对 HTML 的更多控制
    猜你喜欢
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多