【发布时间】:2015-02-17 01:36:53
【问题描述】:
我在视图中获得了一个输入文本框标签的字符串数组,但无法将其发布回控制器 我的代码看起来像这样, 为了可读性省略了不必要的代码
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "frmCivilSurveys" }))
{
<tbody class="subcategory" id="actualmeasure">
<tr>
<td>
</td>
<td colspan="3">
<input type="button" class="k-button" value="Add" style="float: right;" id="AddNewActualMeasure" />
</td>
</tr>
</tbody>
<script>
$("#btnSubmitCivilSurvey").click(function() {
if ($("#frmCivilSurveys").valid())
{
$.ajax(
{
type: "POST",
url: "@Url.Action("CivilPostSurvey", "PostSurveyCivils")?ActivityID=" + $("#iPActivityID").val() ,
data: JSON.stringify($('#frmCivilSurveys').serializeObject()),
dataType: "json",
contentType: "application/json; charset=utf-8",
async: true,
cache: false,
success: function (data)
{
alert(data.Status);
var grid = $("#divSurveyGrid").data("kendoGrid");
grid.dataSource.read();
var win = $("#divEditSurvey").data("kendoWindow");
win.close();
}
});
}
else
{
alert($("#frmCivilSurveys").validate().errorList[0].message);
$($("#frmCivilSurveys").validate().errorList[0].element).focus();
}
return false;
});
//这是负责通过jquery创建字符串输入文本框数组的代码
var m = 1;
$("#AddNewActualMeasure").click(function () {
$("#actualmeasure").append(' <tr> <td>Measure ' + m + ' </td><td>C/W<input type="text" id="CWActualMeasure[' + m + ']" name="CWActualMeasure[' + m + ']"/></td> <td >F/W <input type="text" id="FWActualMeasure[' + m + ']" name="FWActualMeasure[' + m + ']"/></td> </tr>'); //add input box
m++;
});
</script>
}
我的控制器方法如下所示
[HttpPost]
public ActionResult CivilPostSurvey(CivilsPostSurveyViewModel modelData, int ActivityID, string[] CWMeasure,string[] FWMeasure,string[] CWActualMeasure,string[] FWActualMeasure,FormCollection fc)
{
// save data
return null;//data saved message
}
任何帮助将不胜感激
【问题讨论】:
-
你发回什么?向您展示控制器方法
-
集合索引器从
0开始,而不是1-var m = 0; -
嘿,它解决了,非常感谢
标签: c# jquery html asp.net-mvc