在 Html.BeginForm 中传递并非来自 <input> 的参数
Pass parameters in Html.BeginForm that don't come from <input>
我正在使用 Html.BeginForm("Details", "ControllerName", FormMethod.Post)
将一些参数发送到我的 Controller
。一切正常。但是,它仅适用于 Html 中的 <input>
标签。有没有办法post其他标签的值?例如 <span>
或其他什么?所以在我的 ActionResult Details()
结尾,我可以在 <span>
?
中收到这些值
谢谢
不,你不能。只有 input
、select
和 textarea
控件值会发布到服务器。您可以在后台设置一个带有 span 值的隐藏输入控件,但您不能期望 span 会自动发布。
如果你使用javascript,你可以。下面的示例。
document.getElementById('submit').onclick = function(e) {
e.preventDefault();
var form = document.getElementById('myForm');
var data = new FormData();
// put whatever you want to put through data.append([name], [value])
var xhr = new XMLHttpRequest();
xhr.open("POST", form.action);
xhr.send(data);
};
我正在使用 Html.BeginForm("Details", "ControllerName", FormMethod.Post)
将一些参数发送到我的 Controller
。一切正常。但是,它仅适用于 Html 中的 <input>
标签。有没有办法post其他标签的值?例如 <span>
或其他什么?所以在我的 ActionResult Details()
结尾,我可以在 <span>
?
谢谢
不,你不能。只有 input
、select
和 textarea
控件值会发布到服务器。您可以在后台设置一个带有 span 值的隐藏输入控件,但您不能期望 span 会自动发布。
如果你使用javascript,你可以。下面的示例。
document.getElementById('submit').onclick = function(e) {
e.preventDefault();
var form = document.getElementById('myForm');
var data = new FormData();
// put whatever you want to put through data.append([name], [value])
var xhr = new XMLHttpRequest();
xhr.open("POST", form.action);
xhr.send(data);
};