javascript - 如何将 HTML 页面中的 JS 变量值获取到控制器中的模型变量上
问题描述
在我的 HTML 页面中,我有一个变量,该变量的值需要从 MVC 项目中填充模型类中的变量。
我怎样才能用几行代码来完成这个?
这是我尝试过的:
索引.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);
}
模型.cs:
public string grabTest = "";
我想完成什么?
我的 LINQ 需要一个参数 (ID) 来过滤对象列表。这个值来自一个 JS 变量……你看我需要在哪里使用 ajax。
我的想法是使用 ajax 将 JS 变量发送到 actionresult 以将值存储在 Models.cs 中的公共变量上。
简单的想法,但我的执行很糟糕,想法?
解决方案
尝试在MyAction
方法中设置模型的值,而不是将其声明为参数
为此,请Models
在代码块中声明您的类的新实例,从那时起,您现在可以将myVar
参数值分配给您的Models
实例
public ActionResult MyAction(string myVar)
{
var myModel = new Models();
myModel.grabTest = myVar;
//My Action Code Here
return Json(true, JsonRequestBehavior.AllowGet);
}
推荐阅读
- django - 图像文件不再出现在生产中如何解决问题
- javascript - 我如何将参数放入 IMG SRC
- python - 使用 Snakemake 从目录中丢失输入文件
- python - Pandas Boolean Where Filtering:如何使用它来创建数据的真实子集?
- python - 如何使用 Jupyter 笔记本从 .gdf 文件生成数据?
- r - osMaxPos 的 Pos 限制中的 Quantstrat 错误
- r - 如何使用 R 模型为谷歌表格中的单元格供电?
- flutter - “方法 '>' 在 null 上被调用。” 尝试将索引添加到底部导航栏时
- vba - 我怎样才能使这段代码更好/更快?
- docker - 拨打`unix /host/var/run/docker.sock: connect: permission denied` hyperleader fabric