在ASP.NET C#中,下拉列表在Chrome中无法工作并始终返回默认选项的问题可能是由于浏览器的缓存问题导致的。可以通过在下拉列表中添加随机的查询字符串参数来解决这个问题,以确保每次页面加载时都会重新加载下拉列表的选项。
以下是一个示例代码,演示如何通过在下拉列表的URL中添加随机查询字符串参数来解决这个问题:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 生成随机数
Random random = new Random();
int randomNumber = random.Next(1000);
// 根据随机数生成查询字符串参数
string queryString = "?random=" + randomNumber.ToString();
// 设置下拉列表的URL,并在其中添加查询字符串参数
string listUrl = "list.aspx" + queryString;
dropdownList.Attributes["data-url"] = listUrl;
}
}
在前端的JavaScript代码中,可以使用jQuery来动态加载下拉列表的选项。以下是一个示例代码,演示如何使用jQuery从URL加载下拉列表的选项:
$(document).ready(function () {
var dropdownList = $("#dropdownList");
// 获取下拉列表的URL
var listUrl = dropdownList.attr("data-url");
// 使用AJAX从URL加载下拉列表的选项
$.ajax({
url: listUrl,
success: function (data) {
// 清空下拉列表
dropdownList.empty();
// 添加选项
$.each(data, function (key, value) {
dropdownList.append($("").attr("value", key).text(value));
});
}
});
});
在上述代码中,"list.aspx"是下拉列表选项的数据源页面。通过在URL中添加随机的查询字符串参数,可以确保每次页面加载时都会重新加载下拉列表的选项,解决了在Chrome中无法工作并始终返回默认选项的问题。