dal*_*ale 32 html forms asp.net-mvc
我需要将POST操作设置为绝对URL(例如,http://www.cnn.com).有没有办法使用Html.BeginForm()帮助程序并传递它的URL?
Nik*_*tov 64
BeginForm方法有几个重载.要使用所需的url在form标记上设置action属性,您需要使用以下BeginForm重载:
BeginForm(String, String, FormMethod, IDictionary<String, Object>)
// here are the parameter names:
BeginForm(actionName, controllerName, method, htmlAttributes)
Run Code Online (Sandbox Code Playgroud)
由于您要发布到外部站点,因此无需设置actionName和controllerName,只需将它们保留为null即可.
@Html.BeginForm(
null, null, FormMethod.Post, new {@action="http://cnn.com/post"}
)
Run Code Online (Sandbox Code Playgroud)
这不会对action参数进行编码.
Aar*_*ght 15
该HtmlHelper.BeginForm方法所做的只是帮助您创建一个<form>以本地控制器为目标的标记.如果您要发布到外部网站,只需写出实际<form>标记,即
<form action="http://www.example.com/someaction" method="post">
Actual form content in here
</form>
Run Code Online (Sandbox Code Playgroud)
这里的所有都是它的.MVC表单不像ASP.NET WebForms中的表单,其中有一堆ViewState和事件字段以及其他神奇元素.它们只是常规的旧HTML表单.
| 归档时间: |
|
| 查看次数: |
21710 次 |
| 最近记录: |