表单视图中有两个下拉列表,一个用于城市,一个用于州。当州的下拉列表更改时,城市下拉列表将通过javascript更新。如果城市下拉列表从未通过javascript更新,则dlCity.SelectedValue和testVar的值相同。如果城市下拉列表通过javascript更新,则dlCity.SelectedValue和testVar的值不同。 testVar是正确的值。我需要能够获得下拉列表的SelectedValue以及SelectedItem.Text。
protected void fvEvent_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
DropDownList dlCity = fvEvent.FindControl("ddlVenueCity") as DropDownList;
e.NewValues["city"] = dlCity.SelectedItem.Text;
e.NewValues["cityID"] = dlCity.SelectedValue;
int testVar = Int32.Parse(Request.Form[dlCity.UniqueID]);
}
答案 0 :(得分:0)
我认为使用javascript更新webforms元素中的值存在问题。我的解决方案是将值设置为等于以逗号分隔的城市ID和城市名称。然后我只使用Request.Form来获取下拉列表的当前值并进行拆分以获得单独的城市ID和城市名称。
protected void fvEvent_ItemUpdating(object sender, FormViewUpdateEventArgs e)
{
DropDownList dlCity = fvEvent.FindControl("ddlVenueCity") as DropDownList;
string cityValue = Request.Form[dlCity.UniqueID];
string[] cityInfo = cityValue.Split(',');
e.NewValues["city"] = cityInfo[1];
e.NewValues["cityID"] = cityInfo[0];
}