编码员,
我有一个带有 AutoPostBack=True 的 asp.net 下拉列表控件。该控件放置在默认页面 URL 为 /Default.aspx 的 html/javascript 选项卡容器上。为了与下拉列表交互并触发 AutoPostBack,用户必须选择选项卡项#2,它将页面的 URL 更改为 /default.aspx#content-tab-1-2-tab。这是因为下拉列表放置在选项卡项 #2 中,并且用户访问 /default.aspx 时看不到它。
现在的问题是,每当页面回发时,由于下拉列表中的选择更改,页面将指向 /default.aspx URL 而不是 /default.aspx#content-tab-1-2-tab URL。这会导致下拉列表不可见,并且用户必须单击选项卡项#2 才能再次与下拉列表交互。
如何强制下拉列表中的 AutoPostBack 操作指向 /default.aspx#content-tab-1-2-tab 而不是 /default.aspx ?
这是我的代码片段
protected void Page_Load(object sender, EventArgs e)
{
DropDownList_City.Enabled = false;
DropDownList_District.Enabled = false;
GMap_main.addControl(new GControl(GControl.extraBuilt.MarkCenter));
GMap_main.addControl(new GControl(GControl.extraBuilt.TextualCoordinatesControl));
GMap_main.enableGoogleBar = true;
GMap_main.Language = "ar";
if (!IsPostBack)
{
var countries = from x in db.Countries select x.name_ar;
//BINDING THE DROP DOWN LIST
DropDownList_Country.DataSource = countries;
DropDownList_Country.DataBind();
DropDownList_City.Enabled = false;
DropDownList_District.Enabled = false;
}
}
/// <summary>
/// EVENT HANDLING FOR THE DROP DOWN LIST
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void DropDownList_Country_SelectedIndexChanged(object sender, EventArgs e)
{
var city = from x in db.Cities where x.Country.name_ar == DropDownList_Country.SelectedValue select x.name_ar;
DropDownList_City.DataSource = city;
DropDownList_City.DataBind();
DropDownList_City.Enabled = true;
}
谢谢你。