防止提交按钮出现在“新行”上

Car*_*ger 2 asp.net-mvc twitter-bootstrap asp.net-mvc-5 twitter-bootstrap-3

我有一组数据显示在表格的行中。每行的末尾是一个单元格,其中包含一组可以在该行上执行的操作(查看、打印、编辑、删除等)

目前,我将这些操作作为简单链接,由控制器作为 GET 请求进行处理,但是我需要将它们更改为 POST 请求以满足最佳实践。

我的视图生成的当前 HTML 是这样的(为了清晰起见,缩短了):

<table class="table table-hover">
<tr class="row">
    <th>Date</th>
    <th>Actions</th>
</tr>
<tr class="row">
    <td>03/10/2014</td>
    <td>
    <a href="/Grid/Details?mainid=123">Details</a> | 
    <a href="/Grid/Print?mainid=123">View</a> | 
    <a href="/Grid/Delete?mainid=123">Delete</a>
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

当我用表单、隐藏字段和按钮替换删除链接时,无论页面宽度如何,按钮都会放置在“新行”上。视图使用以下代码:

@using (Html.BeginForm("Delete", "Grid"))
{
@Html.Hidden("MainID", Model.MainID)
<button type="submit" class="btn-link" style="border-width: 0px; padding: 0px;">Delete</button>
}
Run Code Online (Sandbox Code Playgroud)

生成以下 HTML:

<a href="/Grid/Details?mainid=123">Details</a> | 
<a href="/Grid/Print?mainid=123">View</a> | 
<form action="/Grid/Delete" method="post">
<input id="MainID" name="MainID" type="hidden" value="123" />
<button type="submit" class="btn-link" style="border-width: 0px; padding: 0px;">Delete</button>
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

新行上的 Bootstrap 按钮

我尝试用 a 包裹表格,<div class="form-group">但这没有什么区别。有没有办法使链接样式按钮与其余链接保持在同一“行”上?

rye*_*ead 5

您需要添加display: inline到您的表单样式。 Forms是块级元素。

注意:我不推荐内联样式,但这可以解决您的问题:

<a href="/Grid/Details?mainid=123">Details</a> | 
<a href="/Grid/Print?mainid=123">View</a> | 
<form action="/Grid/Delete" method="post" style="display:inline;">
<input id="MainID" name="MainID" type="hidden" value="123" />
<button type="submit" class="btn-link" style="border-width: 0px; padding: 0px;">Delete</button>
Run Code Online (Sandbox Code Playgroud)

Codepen 示例: http: //codepen.io/anon/pen/dPzyKY