使用JavaScript/Jquery更新模型
我的观点是一个强类型模型。在我看来,我也有一个foreach循环,它通过内容和呈现一个与conent的手风琴。我还有一个搜索框,它有一个keyup事件,当你输入它时就会触发。事件通过ajax调用获取新数据。所有这些都很好。现在来谈谈问题。有没有一种方法可以使用ajax调用中的新值,用JavaScript/Jquery更新模型。这是我工作的ASP.NETMVC5。 这是我的密码 看法使用JavaScript/Jquery更新模型,javascript,jquery,ajax,razorengine,Javascript,Jquery,Ajax,Razorengine,我的观点是一个强类型模型。在我看来,我也有一个foreach循环,它通过内容和呈现一个与conent的手风琴。我还有一个搜索框,它有一个keyup事件,当你输入它时就会触发。事件通过ajax调用获取新数据。所有这些都很好。现在来谈谈问题。有没有一种方法可以使用ajax调用中的新值,用JavaScript/Jquery更新模型。这是我工作的ASP.NETMVC5。 这是我的密码 看法 @型号列表 @{ foreach(模型中的var项目) { @Resource.AccordionProjectL
@型号列表
@{
foreach(模型中的var项目)
{
@Resource.AccordionProjectLead
凯威伯格
@资源描述
@项目.说明
}
}
window.globalModel=[];
ajax调用和keyup事件
$(“#searcheBar”)。在(“keyup”,函数(){
var输入=此值;
$.ajax({
url:“/Home/SendSearchInput”,
键入:“POST”,
数据:{input:input},
数据类型:“json”,
错误:函数(xhr){
console.log(xhr.statusMessage);
},
成功:功能(数据){
对于(变量i=0;i
谢谢你的帮助 这是ASP.NET Mvc吗?对不起。忘记。对will add it您建议如何使用模型方法构建一个实时搜索栏?一旦页面呈现,模型就消失了,这只是一个C#习惯用法,它使基于数据生成HTML变得更简单。呈现页面时,可用的只是生成的HTML。您的javascript可以随意更改HTML。因此,如果您的HTML根据需要充分标记了类/属性/ID,那么您可以根据ajax调用的结果修改页面的任何部分。
@model List<CMP_FastaSamarbeten_ProjektWeb.Models.SubSiteViewModel>
@{
foreach (var item in Model)
{
<div class="accordion">
<a href="#">
<h4>@item.Title</h4>
<h4 class="status">@Resource.AccordionStatus</h4>
<i class="fa fa-chevron-right rotate"></i>
</a>
</div>
<div class="accordion-desc">
<h3>@Resource.AccordionProjectLead</h3>
<h4>Kay Wiberg</h4>
<h3>@Resource.AccordionDescription</h3>
<p>
@item.Description
<p>
<div class="link">
<a href="@item.Url">@Resource.AccordionGoTo</a>
</div>
</div>
}
}
<script>
window.globalModel = [];
</script>
$("#searcheBar").on("keyup", function () {
var input = this.value;
$.ajax({
url: '/Home/SendSearchInput',
type: 'POST',
data: {input: input},
dataType: "json",
error: function (xhr) {
console.log(xhr.statusMessage);
},
success: function (data) {
for (var i = 0; i < data.length; i++) {
console.log(data[i]["Title"]);
}
window.globalModel = data;
}
});//Ajax call
});//OnKey up