ASP.NET Обновление / отмена командного поля GridView не завершается
-
06-07-2019 - |
Вопрос
Мой вопрос касается элемента управления ASP.NET GridView.Я использую командное поле в теге 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, и, возможно, я ищу не по тем тегам, но я не мог видеть этот адрес раньше.
Решение
Если вы используете поле шаблона, это даст вам полный контроль над внешним видом вашей страницы, но для этого требуется, чтобы вы использовали 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) перед тем, как вы хотите.