Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 有没有办法通过按钮发送参数?_Asp.net_Asp.net Mvc - Fatal编程技术网

Asp.net 有没有办法通过按钮发送参数?

Asp.net 有没有办法通过按钮发送参数?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我有一个链接,我想把它变成一个按钮,链接通过一个参数,如下所示: @Html.ActionLink("View", "Print", new { id = item.SalesContractId }) <input type="button" value="Print" id="btnFromIndexPrint" /> 现在,我想用一个带有此参数的按钮替换它{id=item.SalesContractId} 我的按钮如下所示: @Html.ActionLink("View",

我有一个链接,我想把它变成一个按钮,链接通过一个参数,如下所示:

@Html.ActionLink("View", "Print", new { id = item.SalesContractId })
<input type="button" value="Print" id="btnFromIndexPrint" />
现在,我想用一个带有此参数的按钮替换它{id=item.SalesContractId}

我的按钮如下所示:

@Html.ActionLink("View", "Print", new { id = item.SalesContractId })
<input type="button" value="Print" id="btnFromIndexPrint" />

有人能告诉我怎么做吗

这是我的页面的外观,您可以看到我正在努力实现的目标:

@model IEnumerable<Contract.Models.tbSalesContract>


<!DOCTYPE html>

<html>
<head>
    <title>Index</title>
</head>
<body>
    <p>
        @Html.ActionLink("Create New", "Edit")
    </p>
    <table>
        <tr>            
            <th>
                Company
            </th>
            <th>
                Trading As
            </th> 
            <th>
                Created
            </th>           
            <th>
                Updated
            </th>
            <th></th>
        </tr>

    @foreach (var item in Model) {
        <tr>                     
            <td>
                @Html.DisplayFor(modelItem => item.CompanyName)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.TradingAs)
            </td> 
            <td>
                @Html.DisplayFor(modelItem => item.C_date)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.C_updateDate)
            </td>
            <td>
               @* @Html.ActionLink("View", "Edit", new { id = item.SalesContractId }) *@
                <input type="button" value="View" id="btnFromIndexView" />

            <td>
            @* Add Button to print only if contract state is finalized *@
            @if (item.IsFinal) 
            {
                @Html.ActionLink("Print", "Print", new { id = item.SalesContractId })
                <input type="button" value="Print" id="btnFromIndexPrint" />

            }
            </td>
            </td>
        </tr>
    }

    </table>
</body>
</html>
@model IEnumerable
指数

@ActionLink(“新建”、“编辑”)

单位 交易身份 创建 更新 @foreach(模型中的var项目){ @DisplayFor(modelItem=>item.CompanyName) @DisplayFor(modelItem=>item.TradingAs) @DisplayFor(modeleItem=>item.C_日期) @DisplayFor(modeleItem=>item.C_updateDate) @*@Html.ActionLink(“查看”、“编辑”,新建{id=item.SalesContractId})*@ @*“添加”按钮仅在合同状态最终确定时打印*@ @如果(项目.IsFinal) { @ActionLink(“打印”、“打印”,新的{id=item.SalesContractId}) } }
如果您查看ActionLink生成的源代码,您会发现这只是一个常规的超链接。id参数将附加到URL

因此,用按钮替换超链接将不一样

在ASP.NET MVC中,可以通过多种方式将数据发送到服务器。ActionLink使用的方法是将数据附加到URL。路由机制将这些映射到操作方法上的特定属性

另一种发送数据的方法是使用HTML表单。表单可以有一个提交按钮,然后将表单数据发送到服务器

在搜索操作方法的可能值时,ASP.NET MVC将检查以下来源:

  • 以前绑定的动作参数,当动作是子动作时 行动
  • 表单字段(Request.Form)
  • JSON请求主体(Request.InputStream)中的属性值,但仅当请求是AJAX请求时
  • 路由数据(路由数据值)
  • Querystring参数(Request.Querystring)
  • 已发布文件(Request.files)

  • 如果你看一下ActionLink生成的源代码,你会发现这只是一个普通的超链接。id参数将附加到URL

    因此,用按钮替换超链接将不一样

    在ASP.NET MVC中,可以通过多种方式将数据发送到服务器。ActionLink使用的方法是将数据附加到URL。路由机制将这些映射到操作方法上的特定属性

    另一种发送数据的方法是使用HTML表单。表单可以有一个提交按钮,然后将表单数据发送到服务器

    在搜索操作方法的可能值时,ASP.NET MVC将检查以下来源:

  • 以前绑定的动作参数,当动作是子动作时 行动
  • 表单字段(Request.Form)
  • JSON请求主体(Request.InputStream)中的属性值,但仅当请求是AJAX请求时
  • 路由数据(路由数据值)
  • Querystring参数(Request.Querystring)
  • 已发布文件(Request.files)

  • 为什么要使用按钮而不是链接?如果您担心外观和感觉,那么您可以应用一些CSS并使链接看起来像按钮

    超链接()是为在网页之间形成连接而创建的链接。我建议您在您的案例中使用超链接而不是按钮。如果您想使用javascript执行一些客户端操作,按钮(而不是提交)是很好的


    如果您仍然想使用按钮,那么您必须依靠一些javascript来调用控制器操作。

    为什么要使用按钮而不是链接?如果您担心外观和感觉,那么您可以应用一些CSS并使链接看起来像按钮

    超链接()是为在网页之间形成连接而创建的链接。我建议您在您的案例中使用超链接而不是按钮。如果您想使用javascript执行一些客户端操作,按钮(而不是提交)是很好的


    如果您仍要使用按钮,则必须依靠一些javascript来调用控制器操作。

    您是在尝试检测服务器上的id,还是通过一些客户端脚本?您是在尝试检测服务器上的id,或者通过客户端脚本?所以你不能通过按钮发送参数?如果你看一下我的源代码,你能以一种可能的方式重定向我以实现我的目标吗?@Pomster如果你不清楚按钮和超链接之间的区别,那么你真的需要对此做一些研究。使用Html.ActionLink,您不会向任何东西“传递数据”。浏览器正在输出一个超链接,该超链接将浏览器重定向到另一个页面(路由)。按钮根本不像超链接,所以你的问题毫无意义。你可以添加javascript,当你点击按钮时会重定向,但这不是一回事。所以你不能通过按钮发送参数?如果你看一下我的源代码,你能以一种可能的方式重定向我的目标吗?@Pomster如果你不清楚按钮和超链接之间的区别,那么你真的需要做一些研究。使用Html.ActionLink,您不会将数据“传递”给