javascript - 通过调用 javascript 函数通过 Ajax Post 更新具有模型更改的视图
问题描述
我使用 Ajax 调用来更新我的模型值,然后让该新值显示在视图中。这是我的代码。在这段代码中,我正在调用 GetText 方法并更新模型值。如何在 html 中显示新模型值。请帮忙
public class EmpModel
{
public string EmpClaim {get;set;}
}
public IActionResult EmpClaim()
{
return View();
}
[HttpPost]
public ActionResult GetText(EmpModel model)
{
model.EmpClaim = "New Text" // This should be shown in view
return Json(data);
}
html文件
@model Test.Models.EmpModel
<div>
<input type="text" name="Claim" class="form-control" id="TxtClaim" asp-for="Claim" data-role="text"/>
</div>
<div>
<input type="button" onclick="changeText()" id="changeButton" />
</div>
Javascript
<script>
function changeText()
{
var url = '@Url.Action("GetText", "EmpDoc")';
$.post(url, $('form').serialize(), function (view) {
$("#TxtClaim").val(); // How can I update the TxtClim with model.EmpClaim "New Text"
});
}
</script>
解决方案
您可以使用return Content()
将字符串返回到 ajax 函数。
[HttpPost]
public IActionResult GetText(EmpModel model)
{
model.EmpClaim = "New Text" // This should be shown in view
return Content(model.EmpClaim);
}
JS:
<script>
function changeText()
{
var url = '@Url.Action("GetText", "EmpDoc")';
$.post(url, $('form').serialize(), function (view) {
$("#TxtClaim").val(view); // How can I update the TxtClim with model.EmpClaim "New Text"
});
}
</script>
注意:
在您的情况下,模型没有a key field
,因此当您更新数据时,您无法确定要更新哪条数据。进一步的操作可能需要您修改模型设计。
你可以参考这个。
推荐阅读
- java - 我需要帮助比较数组和 Java 中的错误检查
- json - 如何解析具有多个变量的 Json 数据?
- python - 不能用 python/selenium 刮空[已解决]
- java - 重命名文件不会重命名内容解析器中的信息
- arrays - 数组调用中的变量导致错误替换
- ruby-on-rails - 获取 ice_cube 重复规则的轮换用户
- uitableview - 为什么方法 didDeselectItemAt 不调用?
- mysql - 查询以获取逗号分隔的 varchar 中选定值中的值
- python - 熊猫在 2 个键上加入一列
- haskell - 指示堆栈构建可执行文件的目标目录