Обновление / отмена ASP.NET GridView CommandField не переносится
Мой вопрос касается элемента управления 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"/>
Рендеринг показан на следующем рисунке (после того, как я нажму на кнопку "Изменить").
Как вы видите, я пытаюсь, чтобы ссылка Отмена показывала новую строку, и мой вопрос: как вы это делаете? Если я изменю ButtonType="Link" на ButtonType="Button", я получаю правильную визуализацию, как показано ниже.
http://i38.tinypic.com/2pqopxi.jpg
Я уже пробовал Google и, возможно, я не ищу правильные теги, но я не мог видеть этот адрес ранее.
Спасибо.
2 ответа
Если вы используете поле шаблона, оно даст вам полный контроль над внешним видом вашей страницы, но для этого необходимо использовать имя 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.
}
}
Не используйте командное поле, используйте TemplateField и поместите в него свою командную кнопку с разрывом строки (br) перед тем, как вы хотите.