我正在尝试将对象从剃刀视图发送到操作方法
我的观点
<section>
<script type="text/javascript">
function saveExpense()
{
var expenseobject = {
date:$('.txtDate').val() ,
type:$('.ExpenseType').val() ,
cost: $('.cost').val(),
extra:$('.extra').val()
};
$.ajax({
// url: baseUri+'HomeController/saveexpense',
url: '@Url.Action("saveexpense", "HomeController")',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ obj: expenseobject }),
success: function (result) {
}
});
}
</script>
<section id="form">
<table width="600">
<tr>
<td>Select Date:</td>
<td>
<input class="txtDate" type="date" size="20"></td>
</tr>
<tr>
<td>Select Expense Type:</td>
<td>
<select class="ExpenseType">
<optgroup label="Room">
<option>Room Fare</option>
</optgroup>
<optgroup label="Mess">
<option>Monthly Mess</option>
</optgroup>
<optgroup label="Others">
<option>Bus Fare</option>
<option>Tapari</option>
<option>Mobile Recharge</option>
<option>Auto</option>
</optgroup>
</select></td>
</tr>
<tr>
<td>Enter Cost:</td>
<td>
<input class="cost" type="text" size="45" /></td>
</tr>
<tr>
<td>Extra Details:</td>
<td>
<input class="extra" type="text" size="45" /></td>
</tr>
<tr>
<td> </td>
<td>
<button onClick="saveExpense();" >Submit</button></td>
</tr>
</table>
</section>
</section>
这是我的控制器
public ActionResult saveexpense(Expense obj)
{
obj.ExpenseId = Guid.NewGuid();
Debug.Print(obj.cost.ToString());
if (ModelState.IsValid)
{
context.expenses.Add(obj);
context.SaveChanges();
int total = context.expenses.Sum(x => x.cost);
return Json(new { spent = total, status = "Saved" });
}
return Json(new { status = "Error" });
}
它在 HomeController.cs 中的位置
当我检查响应时,我发现
[HttpException]:找不到路径“/HomeController/saveexpense”的控制器或未实现 IController。