2012-01-06 76 views
0

我有以下提交按钮:改变HTML标签的属性

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

怎样更改例如按钮被点击后使用内联服务器标签的按钮本身的背景颜色?

我已经尝试使用内联服务器标记< %%>提交按钮声明中的属性style =“”,但我只是得到一个解析器错误消息,说“服务器标记不能包含<%...%>”结构体。”

预计代码,可以用来验证按钮点击:

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

为什么你不能使用jQuery改变背景色左右,其中有在服务器端没有什么意义? – dotNETbeginner 2012-01-06 11:21:43

+1

我的问题具有服务器端意义,而不是客户端。 – Birdman 2012-01-06 11:23:48

回答

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 =“服务器”属性

+0

谢谢! 但有没有什么办法来防止重复使用html提交代码? – Birdman 2012-01-06 11:16:05

+0

我并不清楚你的问题,如果按钮存在,用户将能够再次点击它。你的意思是用户不能点击它并重新发送数据? – 2012-01-06 11:18:37

+0

我只是想改变提交按钮被点击后的背景颜色 - 没有别的:-) – Birdman 2012-01-06 11:20:02

0

其不正确的方式将服务器端代码与HTML标记混合在一起..
对于这样的事情使用代码隐藏..

尝试以下..

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