Javascript 虽然模型中有数据,但回发到表后数据没有绑定。我使用asp.net Mvc进行绑定

Javascript 虽然模型中有数据,但回发到表后数据没有绑定。我使用asp.net Mvc进行绑定,javascript,c#,ajax,asp.net-mvc,Javascript,C#,Ajax,Asp.net Mvc,这是我的控制器代码 在这一过程中,第一个GetSupplier()函数将带来数据,并显示该数据。然而,在回发之后,模型中的数据发生了变化,但在表中它继续显示相同的数据 public ActionResult GetSupplier() { stm1.LocationId = int.Parse(Session["LocationId"].ToString()); stm1.StatementType = "Select"; stm1.ShowRecords = "Y"

这是我的控制器代码

在这一过程中,第一个
GetSupplier()
函数将带来数据,并显示该数据。然而,在回发之后,模型中的数据发生了变化,但在表中它继续显示相同的数据

 public ActionResult GetSupplier()
 {
    stm1.LocationId = int.Parse(Session["LocationId"].ToString());
    stm1.StatementType = "Select";
    stm1.ShowRecords = "Y";
    stm1.SupplierData = null;
    stm1.SupplierData = AddData.Data(stm1);
    return View(stm1);
 }


[HttpPost]
public ActionResult GetSupplier(string supplier)
{
    string selected;
    selected = supplier;
    //  AddData obj1 = new AddData();
    stm1.LocationId = int.Parse(Session["LocationId"].ToString());
    stm1.StatementType = "Select";
    stm1.ShowRecords = supplier;
    stm1.SupplierData = null;
    stm1.SupplierData = AddData.Data(stm1);
    return View(stm1);
}

<script type="text/javascript">

    $(function () {
        $(':radio[name="SupplierType"]').change(function () {

            var selected = $("input[type='radio'][name='SupplierType']:checked");

            var selectedVal = selected.val();
            // alert(""+selectedVal);
            $.ajax({
                url: '/SupplierType/GetSupplier',
                type: 'POST',
                data: { supplier: selectedVal },
                success: function (data) {
                    //alert(data.someValue);
                }
            });
        });
    });
</script>


if (Model != null && Model.SupplierData != null)
{
  <table id="assets-data-table" class="table table-striped table-bordered" style="margin-left:20%;width:60%">
    <thead>
        <tr>
            <th>SupplierId</th>
            <th>Supplier Type</th>

        </tr>
    </thead>
    <tbody>
        @foreach (var asset in Model.SupplierData)
        {
            <tr>
                <td>@asset.SupplierId</td>
                <td>@asset.SupplierType</td>
            </tr>
        }
    </tbody>
  </table>
}
public ActionResult GetSupplier()
{
stm1.LocationId=int.Parse(会话[“LocationId”].ToString());
stm1.StatementType=“选择”;
stm1.ShowRecords=“Y”;
stm1.SupplierData=null;
stm1.SupplierData=AddData.Data(stm1);
返回视图(stm1);
}
[HttpPost]
公共操作结果GetSupplier(字符串供应商)
{
选择字符串;
所选=供应商;
//AddData obj1=新的AddData();
stm1.LocationId=int.Parse(会话[“LocationId”].ToString());
stm1.StatementType=“选择”;
stm1.ShowRecords=供应商;
stm1.SupplierData=null;
stm1.SupplierData=AddData.Data(stm1);
返回视图(stm1);
}
$(函数(){
$(':radio[name=“SupplierType”]')。更改(函数(){
所选变量=$(“输入[type='radio'][name='SupplierType']:选中”);
var selectedVal=selected.val();
//警报(“+selectedVal”);
$.ajax({
url:“/SupplierType/GetSupplier”,
键入:“POST”,
数据:{供应商:selectedVal},
成功:功能(数据){
//警报(data.someValue);
}
});
});
});
if(Model!=null&&Model.SupplierData!=null)
{
供货商朝码
供应商类型
@foreach(模型中的var资产。供应商数据)
{
@asset.SupplierId
@asset.SupplierType
}
}

如果您使用AJAX运行POST方法(看起来就是这样),则HTML表不会更改,除非您编写一些JavaScript代码来更改它。在“success”函数中,您需要一些代码来处理从服务器返回的数据,并使用它重新绘制表。返回视图以响应AJAX调用毫无意义,因为视图是整个HTML页面,您无法将其插入到另一个页面中。相反,您应该考虑返回包含一个新HTML表的部分视图(您可以很容易地使用它来替换页面中现有的表),或者一些JSON(然后您可以使用一些JavaScript来重新构建表来包含新的数据)。谢谢您的帮助,它现在正在工作。