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来重新构建表来包含新的数据)。谢谢您的帮助,它现在正在工作。