使用内联服务器标记更改HTML标记属性

时间:2012-01-06 11:03:36

标签: asp.net html webforms

我有以下提交按钮:

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

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

我尝试在提交按钮声明中使用属性style =“”和内联服务器标记&lt; %%&gt;,但我只是收到一条Parser错误消息,说“服务器标签不能包含&lt;%... %&gt;构造。“

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

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

2 个答案:

答案 0 :(得分:2)

<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”属性

答案 1 :(得分:0)

将服务器端代码与HTML标记混合的不正确方法。
使用代码隐藏这些东西..

尝试以下方法..

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