【发布时间】:2013-03-07 02:02:29
【问题描述】:
我正在使用ASP.NET MVC 和jQuery。
我有一个文本框和一个包含数据的 HTML 表格,例如:
<form action="/Server/Test" method="post">
<input type="text" id="ServiceAccount" />
<table>
<tr>
<th>Heading 1</th>
<th>Heading 2</th>
</tr>
<tr>
<td>Cell data 1</td>
<td>Cell data 2</td>
</tr>
</table>
</form>
上表未绑定到视图模型,它通过 AJAX/JSON 填充。
我需要将文本框的值和单元格数据发布到控制器的操作方法中。因此,如果我在文本框中输入 1234567,那么我需要将此值与表的内容一起发布到操作方法。我还需要表格数据进行处理。这可能吗?我找不到样品。
我的操作方法如下所示:
[HttpPost]
public ActionResult Test(string[] data)
{
// Use the value Cell data 1
// Use the value Cell data 2
return View();
}
鉴于我下面的代码它没有达到我的操作方法:
$('form').submit(function () {
$.post('@Url.Action("Test", "Server")', $('form').serialize(), function (data) {
alert('success');
});
return false;
});
我不明白我做错了什么。
【问题讨论】:
-
你的路由配置是什么样的?
-
它只是具有启动 MVC 项目时的默认配置。
-
存在 javascript 错误或路由问题。如果您在浏览器中打开调试控制台,您是否看到任何 JS 错误?如果您打开网络选项卡,您会收到 404 吗?
-
您还需要在输入字段上设置名称属性,并将操作方法的参数名称设置为相同的名称。将类型从字符串数组更改为字符串。
-
您不能将名称属性添加到表中。
标签: javascript jquery asp.net html asp.net-mvc