Использование Visual Studio 2010, проект MVC
Когда моя форма отправляется (в настоящее время с помощью javascript, но с теми же результатами, что и кнопка отправки), действие получает пустую модель с обоими полями, равными нулю, вместо того, чтобы содержать значение, которое я ввел в текстовое поле. Объект Request содержит правильную пару имя / значение в коллекции Form.
Значения модели, идущие в другую сторону, работают нормально - поэтому, основываясь на моем действии [HttpGet] CallDisplayHome (), форма загружается со значением текстового поля, равным 1.
Если кто-нибудь знает, почему он не будет работать, возвращаясь через POST, я был бы признателен.
Используемая модель:
namespace TCSWeb.Models
{
public class CallDisplayModel
{
public int SelectedRowIndex;
public int SelectedLineID;
}
}
Вид:
@model TCSWeb.Models.CallDisplayModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<body>
/*
There a Jscript datatable here and a bunch of scripts for working with it in the header I am skipping because I am hoping they are not relevant
*/
<div>
@using (Html.BeginForm("Testing", "CallDisplay", FormMethod.Post, new { name = "submitSelLine" }))
{
@Html.TextBoxFor(m => m.SelectedLineID)
<p>
<input type="submit" value="Log On" />
</p>
}
</div>
<button onclick="SubmitSelCallRecord()">@LangRes.Strings.calldisplay_opencallrecord</button>
Действия моего контроллера:
[HttpGet]
public ActionResult CallDisplayHome()
{
TCSWeb.Models.CallDisplayModel temper = new CallDisplayModel();
temper.SelectedLineID = 1;
temper.SelectedRowIndex = 1;
return View(temper);
}
[HttpPost]
public ActionResult Testing(TCSWeb.Models.CallDisplayModel cdmodel)
{
return RedirectToAction("CallDisplayHome"); //breaking here, cmodel has zero for selectedlineid
}