如何使用MVC5作为webforms进行Equiv POST

时间:2014-03-14 17:50:43

标签: asp.net asp.net-mvc razor

我将数据发布到Authorize.net并拥有如下所示的网络表单代码:

<form id="simForm" runat="server" method='post' action='https://test.authorize.net/gateway/transact.dll'>
    <input id="HiddenValue" type="hidden" value="Initial Value" runat="server" />
    <input type='hidden' runat="server" name='x_login' id='x_login' />
    <input type='hidden' runat="server" name='x_amount' id='x_amount' />
    <input type='hidden' runat="server" name='x_description' id='x_description' />
    <input type='hidden' runat="server" name='x_invoice_num' id='x_invoice_num' />
    <input type='hidden' runat="server" name='x_fp_sequence' id='x_fp_sequence' />
    <input type='hidden' runat="server" name='x_fp_timestamp' id='x_fp_timestamp' />
    <input type='hidden' runat="server" name='x_fp_hash' id='x_fp_hash' />
    <input type='hidden' runat="server" name='x_test_request' id='x_test_request' />
    <input type='hidden' name='x_show_form' value='PAYMENT_FORM' />
    <input type='submit' runat="server" id='buttonLabel' />
</form>

我想在asp.net MVC5中使用控制器和剃刀做同样的事情。我正在尝试下面的一些事情,但我没有完全理解。特别是关于action = https://test.au ..

的部分
 @using (Html.BeginForm("Submit", "AuthNet",FormMethod.Post))
    {
        @Html.AntiForgeryToken()

        @Html.Hidden("x_login", "mylogincred")

        <button type="submit">Process</button>
    }

1 个答案:

答案 0 :(得分:1)

对于action部分,请参阅此处:Html.BeginForm() with an absolute URL?

只需使用thisBeginForm()重载。使用此重载,如actionNamecontrollerNamenull

@using (Html.BeginForm(null, null, FormMethod.Post, new { action = "https://test.authorize.net/gateway/transact.dll" })){ }

此外,如果您有强类型视图,则可以将视图模型传递给视图,并使用Html.HiddenFor()帮助程序填充隐藏的输入元素。