【发布时间】:2013-01-10 09:08:11
【问题描述】:
我已经使用 AJAX 填充了一个 ASP.net 下拉列表,现在我需要将 Id 以 C# 方法存储到数据库中,(我正在使用 LINQ)
这是我的网络方法
[WebMethod]
public static ArrayList GetLanguageList()
{
ArrayList lstArrLanguage = new ArrayList();
IQueryable<Common.Town> myList = new SupplierBL().GetTowns();
foreach(Common.Town t in myList)
{
string name = t.Name;
string id = t.TownId.ToString();
lstArrLanguage.Add(new ListItem(name, id));
}
return lstArrLanguage;
}
我的 test.aspx 代码
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "POST",
url: "test.aspx/GetLanguageList",
data: '',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#ddlLanguage").empty().append($("<option></option>").val("[-]").html("Please select"));
$.each(msg.d, function () {
$('#<%=ddlLanguage.ClientID%>').append($("<option></option>").val(this['Value']).html(this['Text']));
});
},
error: function () {
alert("An error has occurred during processing your request.");
}
});
});
</script>
【问题讨论】:
-
Eliza,
GetLanguageList()方法,您从哪里调用该方法,您是基于单击按钮执行该操作还是在 DDL 中形成 SelectedItem ..?你能显示相关代码..吗?还有什么是 Common.Town? -
使用网页中的 AJax
-
当您加载 DropDown 列表值时,它是否有名称,列表中的 Id..?如果是这样,现在您需要根据所选项目获取 ID.. 从所选项目中,您可以执行 Split(',') 并获取数组 [1] 值,如果我对您的理解不正确,请纠正我 Eliza
-
我知道我需要获取哪些数据,但是当我尝试 string text = ddlDropDown.SelectedValue.ToString() in 时,我不知道将其输入 ac# 方法给我一个错误 Invalid回发或回调参数
-
你在做任何
if(!IsPostBack)检查..?您实际上可以执行类似var value = Request.Form[ddlLanguage.UniqueID];的操作,它将获得选择存储在服务器而不是客户端上的值。
标签: c# jquery asp.net .net ajax