我将数据发布到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>
}
答案 0 :(得分:1)
对于action
部分,请参阅此处:Html.BeginForm() with an absolute URL?
只需使用this的BeginForm()重载。使用此重载,如actionName
和controllerName
为null
。
@using (Html.BeginForm(null, null, FormMethod.Post, new { action = "https://test.authorize.net/gateway/transact.dll" })){ }
此外,如果您有强类型视图,则可以将视图模型传递给视图,并使用Html.HiddenFor()
帮助程序填充隐藏的输入元素。