【问题标题】:changing HTML tag properties using inline server tags使用内联服务器标签更改 HTML 标签属性
【发布时间】:2012-08-08 16:17:19
【问题描述】:

我有以下提交按钮:

<form id="form1" runat="server">
<input type="submit" id="submit" value="Submit" runat="server"/>
</form>

我该如何改变,例如单击按钮后使用内联服务器标签来设置按钮本身的背景颜色?

我尝试在提交按钮声明中使用属性 style="" 与内联服务器标签 ,但我只收到一条解析器错误消息,提示“服务器标签不能包含 构造。”

用于验证按钮点击的预期代码:

<%
  if (Request["submit"] != null) 
  {
   // CODE HERE  
  }
%>

【问题讨论】:

  • 为什么不能使用jQuery来改变背景颜色左右,这在服务器端没有意义?
  • 我的问题具有服务器端意义,而不是客户端。

标签: asp.net html webforms


【解决方案1】:
<form id="form1" runat="server">

    <%
      if (Request["submit"] != null) 
      { %>
       <input type="submit" id="submit" value="Submit" runat="server" style="background:#ffffff"/>
     <% }
       else{ %>
    <input type="submit" id="submit" value="Submit" runat="server" style="background:#aaaaaa"/>
    <%}%>
</form>

   <form id="form1" runat="server">

        <% string color="";
          if (Request["submit"] != null) 
          { %>
     color="background:#aaaaaa";
         <% }%>
<input type="submit" id="submit" value="Submit" style="<%=color%>"/>
    </form>

如果您使用第二个,则提交按钮不能具有 runat="server" 属性

【讨论】:

  • 谢谢!但是有什么办法可以防止html提交代码的重用呢?
  • 我没有听到你的问题,如果按钮存在,用户可以再次点击它。你的意思是用户不能点击它并重新发送数据?
  • 我只想在提交按钮被点击后更改它的背景颜色 - 没有别的 :-)
  • 是的,提交按钮的背景色。
  • 那么代码 if (Request["submit"] != null) 将在提交后生效。在上面我写的代码中,只有一个提交按钮。如果通过此按钮提交,则该按钮将具有 if 子句中的颜色,否则它将具有 else 子句的颜色
【解决方案2】:

这不是将服务器端代码与 HTML 标记混合的正确方法。
为这些事情使用背后的代码..

尝试以下..

if(Request["submit"]==null)
        submit.Style.Add("background", "red");
else
        submit.Style.Add("background", "white");

【讨论】:

    猜你喜欢
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2012-07-08
    相关资源
    最近更新 更多