Обновление / отмена ASP.NET GridView CommandField не переносится - PullRequest
1 голос
/ 09 октября 2008

Мой вопрос касается элемента управления ASP.NET GridView. Я использую CommandField в теге Columns, как показано ниже.

<asp:CommandField ShowEditButton="True" HeaderStyle-Width="40px" UpdateText="Save" ButtonType="Link" HeaderStyle-Wrap="true" ItemStyle-Wrap="true" ItemStyle-Width="40px"/>

Рендеринг показан на следующем рисунке (после того, как я нажму на кнопку «Изменить»).

alt text

Как вы можете видеть Я пытаюсь, чтобы ссылка Отмена показывала новую строку, и мой вопрос: как вы это делаете? Если я изменю ButtonType="Link" на ButtonType="Button", я получу это рендеринг правильно, как показано ниже.

альтернативный текст http://i38.tinypic.com/2pqopxi.jpg

Я уже пробовал Google, и, возможно, я не ищу нужные теги, но раньше не видел этот адрес.

Ответы [ 2 ]

3 голосов
/ 09 октября 2008

Если вы используете поле шаблона, оно даст вам полный контроль над внешним видом вашей страницы, но для этого потребуется использовать CommandName и возможные свойства CommandArgument, а также использовать OnRowCommand GridView.

Страница aspx:

<asp:GridView id="gvGrid" runat="server" OnRowCommand="gvGrid_Command">
 <Columns>
  <asp:TemplateField>
   <ItemTemplate>
    Some Stuff random content
    <br />
    <asp:LinkButton id="lbDoIt" runat="server" CommandName="Cancel"  CommandArgument="SomeIdentifierIfNecessary" />
   </ItemTemplate>
  </asp:TemplateField>
 </Columns>
</asp:GridView>

Код позади:

protected void gvGrid_Command(object sender, GridViewCommandEventArgs e)
{
 if(e.CommandName=="Cancel")
 {
   // Do your cancel stuff here.
 }

}

0 голосов
/ 09 октября 2008

Не используйте командное поле, используйте TemplateField и поместите в него свою командную кнопку с разрывом строки (br) перед тем, как вы хотите.

...