На моей странице HTML у меня есть переменная, значение которой необходимо для заполнения переменной в моем классе Model из проекта MVC.
Как я могу сделать это с помощью нескольких строк кода?
Вот что я попробовал:
Index.cshtml:
var mana = document.getElementById("ID").value;
var MyAction = '@Url.Action("MyAction", "Home")';
$.ajax({
type: "POST",
url: MyAction,
data: { 'myVar': mana },
success: function (result) {
$('#ResultsDiv').html(result);
@{
var inventoryObj = Model.InventoryDataList.Where(x => x.ID == Int32.Parse(Model.grabTest)).Select(x => x.DAYOFWEEK);
var inventoryJson = new JavaScriptSerializer().Serialize(inventoryObj);
}
var inventoryRefined = JSON.parse('"@inventoryJson"');
var InventoryDataList = JSON.parse(htmlDecode(inventoryRefined));
console.log(InventoryDataList);
}
});
HomeController.cs:
public ActionResult MyAction(Models model, string myVar)
{
model.grabTest = myVar;
//My Action Code Here
return Json(true, JsonRequestBehavior.AllowGet);
}
Models.cs:
public string grabTest = "";
Чего я пытаюсь достичь?
Мой LINQ требует параметра (ID) для фильтрации списка объектов.Это значение взято из переменной JS ... вы видите, где мне нужно использовать ajax для этого.
Я думал о том, чтобы использовать ajax для отправки переменной JS в actionresult для хранения значения в публичной переменной вModels.cs.
Простая идея, но мое исполнение ужасно, мысли?