2011-05-23 66 views
1

我有一個GridView中的ButtonType鏈接的命令字段。產生的標記類似於;GridView的CommandField刪除無中斷空間

<a href="javascript:__doPostBack('ctl00$GridView','Edit$0')">Edit</a>&nbsp; 
<a href="javascript:__doPostBack('ctl00$GridView','Delete$0')">Delete</a> 

如何擺脫&nbsp;這是導致我的風格問題。

+0

關於這個問題的類似問題[gridview的CommandField更新和取消圖像即將上來在IE](http://stackoverflow.com/q/6094978/2012945)。 – edmundo096 2016-04-26 14:09:25

回答

0

使用模板字段代替命令字段;

<asp:TemplateField HeaderText="Actions"> 
      <ItemTemplate> 
   <asp:LinkButton runat="server" CommandName="Edit" Text="Edit" /> 
   <asp:LinkButton runat="server" CommandName="Delete" Text="Delete" /> 
      </ItemTemplate> 
  
  </asp:TemplateField> 
+0

並非真的想編寫命令邏輯,但我認爲TemplateField是唯一能夠讓您足夠控制標記的東西。 – 2011-05-23 09:13:05

+0

你不需要。它是內置的。編輯,刪除和更新。當你將它們聲明爲命令名時,你將獲得內置函數。嘗試一下。 – tugberk 2011-05-23 09:16:22

+0

在asp.net 4.5.1下試過,默認行爲(只顯示編輯鏈接開始,然後切換到其他鏈接)不會因爲CommandName匹配而發生* not *。不知道這是否最近發生了變化。 – user1664043 2015-05-28 20:51:04

0

不是精確的解決方案,但一個解決辦法...

我有同樣的問題,因爲我需要使用CommandField中(而不是的TemplateField),我設法解決換行符使用ItemStyle Wrap

例如:

<asp:CommandField ButtonType="Image" ShowEditButton="True" EditImageUrl="~/images/edit.png" CancelImageUrl="~/images/cancel.png" UpdateImageUrl="~/images/update.png" ItemStyle-Wrap="false" > 
    <ItemStyle Wrap="False" Width="48px"></ItemStyle> 
</asp:CommandField> 

它可以是在CommandField中屬性ItemStyle-Wrap="false",或者作爲與Wrap="False"屬性其ItemStyle元件。


雖然,它不會刪除&nbsp;,但應用white-space:nowrap; CSS樣式,具有以下時,編輯模式:

<td style="width:48px;white-space:nowrap;"> 
    <input type="image" name="GridView1$ctl02$ctl00" src="images/update.png" alt="Update"> 
    &nbsp; 
    <input type="image" src="images/cancel.png" alt="Cancel" onclick="javascript:__doPostBack('GridView1','Cancel$0');return false;"> 
</td> 

希望它能幫助。