我正在使用带有C#的asp.net WebForm页面,我有一个类Place
,其属性为int placeId
,string place
和Baladi baladi
。
Baladi
类的属性为int baladiId
,string baladi
。
在 javascript 中,我正在调用一个返回对象Place的方法。
我有一个带有 TextBox , HiddenField 和 DropDownList 的Bootstrap模式,
我可以将TextBox的值设置为Place.place
,将HiddenField设置为Place.placeId
。
我需要的是根据Place.baladi.baladiId
设置DropDownList的选定索引。
当我尝试使用我的代码时,它会继续选择DropDownList中的第一项。
以下是我的代码:
public class Place
{
public int placeId { get; set; }
public string place { get; set; }
public Baladi baladi { get; set; }
}
public class Baladi
{
public int baladiId { get; set; }
public string baladi { get; set; }
}
<script>
$(document).on("click", ".btnEdit", function () {
var pid = $(this).data('id');
$.ajax({
type: "POST",
url: "place.aspx/getPlace",
data: '{placeId: "' + pid + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json", // dataType is json format
success: OnSuccess,
error: OnErrorCall
});
function OnSuccess(response) {
console.log(response.d);
$("#txtEditPlace").val(response.d['place']);
$("#ddlCity").val(response.d['baladi']['baladiId']);
$("#hfPlaceId").val((response.d['placeId'] == null ? "" : response.d['placeId']));
}
function OnErrorCall(response) { console.log(response); }
});
</script>
任何帮助将不胜感激!
答案 0 :(得分:0)
public int baladiId { get; set; }
baladiId被声明为int。 val函数仅在传递字符串IE "2"
时才有效,而2
不是等价值。您是否在设置下拉列表之前尝试投射baladidId?
$("#ddlCity").val(String(response.d['baladi']['baladiId']))