C# 使用jquery和Ajax刷新DIV中的Partialview

C# 使用jquery和Ajax刷新DIV中的Partialview,c#,javascript,jquery,asp.net-mvc,asp.net-mvc-4,C#,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 4,这是我的部分观点: @model UADDPortal.ViewModels.DatabaseInfoViewModel <table class="table table-bordered table-striped"> <tr> <td><h5> Status: @Model.CurrentStatus </h5> </td> <td><input type="submit" cla

这是我的部分观点:

@model UADDPortal.ViewModels.DatabaseInfoViewModel

<table class="table table-bordered table-striped">
<tr>
    <td><h5> Status:  @Model.CurrentStatus </h5> </td>
    <td><input type="submit" class="btn btn-success" name="RefreshResourceStatus@(Model.CheckoutID)" id="RefreshResourceStatus@(Model.CheckoutID)" value="Refresh" /></td>
</tr>

问题是,在DIV部分生成的刷新按钮似乎是随机工作的……有时工作……大多数时间都不起任何作用……我不明白为什么……

如果您有多个项目,最好使用
数据-*
属性来填充签出ID

@model UADDPortal.ViewModels.DatabaseInfoViewModel

<table class="table table-bordered table-striped">
<tr>
    <td><h5> Status:  @Model.CurrentStatus </h5> </td>
    <td><input type="submit" class="btn btn-success btn-checkout" 
         data-chekout-id="@(Model.CheckoutID)" value="Refresh" /></td>
</tr>

正如联邦快递在对他的问题的评论中提到的那样

 $.ajaxSetup({ cache: false });

为我解决了这个问题。

确保内容没有被缓存。您有多个项吗?我通过将此项添加到jscript函数中解决了“仅工作一次”的问题:$.ajaxSetup({cache:false});穆拉里:是的……这个div是在foreach循环中生成的……你可以有N个div部分,每个部分都有自己的jscript函数。。。。。。。。。我修复了$.ajaxSetup({cache:false})的缓存问题;,但我仍然有一种奇怪的行为。。。。第一次单击按钮将正确加载…第二次单击将刷新整个页面(不知道为什么)…第三次单击将正确加载…第四次单击将刷新所有内容…依此类推…您可以使用
$.post()
加载它,这样它就不会被缓存。您还可以将checkoutid移动到
data-*
属性并保持代码简单。检查我的答案。
@model UADDPortal.ViewModels.DatabaseInfoViewModel

<table class="table table-bordered table-striped">
<tr>
    <td><h5> Status:  @Model.CurrentStatus </h5> </td>
    <td><input type="submit" class="btn btn-success btn-checkout" 
         data-chekout-id="@(Model.CheckoutID)" value="Refresh" /></td>
</tr>
$(document).ready(function () {

    $('.btn-checkout').click(function(e){

      var checkoutId=$(this).data("chekout-id");
      var targetDiv='#ResourceStatus'+checkoutId;

      $.post('url',{Id:checkoutId},function(result){

        $(targetDiv).html(result);

       });
    });
});
 $.ajaxSetup({ cache: false });