AvivEngineer
New member
asp.net dropdownlist repeater setselected
שלום
יש לי repeater שבתוכו יש dropdownlist המכיל שמות רחובות.
אני רוצה שהרחוב השייך לרשומה הנכחית יופיע ולא הראשון ברשימה.
ניסיתי מספר גישות ללא הצלחה.
1. בדף :
<aspropDownList ID="ddlStreetName" runat="server"
SelectedValue='<%# Eval("StreetName")%>'>
</aspropDownList>
או
<aspropDownList ID="ddlStreetName" runat="server"
SelectedValue='<%# Eval("IDStreet")%>'></aspropDownList>
נותן הודעה : בזמן ה-run
System.InvalidOperationException was unhandled by user code
HResult=-2146233079
Message=פעולות שירות של איגוד נתונים כגון Eval(), XPath() ו- Bind() ניתנים לשימוש רק בהקשר של פקד איגוד נתונים.
בכלל, כל דבר שאני מצרף לפקד בצד הדף נותן את השגיאה הזו כולל =setselected ואפילו =text.
2. בקוד מאחור יש לי :
protected void repRentAppartments_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DropDownList selectLst = e.Item.FindControl("ddlStreetName") as DropDownList;
if (selectLst != null)
{
selectLst.DataSource = GetStreetNames(5000);// מחזיר טבלאת רחובות
selectLst.DataBind();
selectLst.DataTextField = "StreetName";
selectLst.DataValueField = "IDStreet";
selectLst.SelectedValue = ????
}
}
עובד תקין אבל
כאן אני נתקל בבעייה. אם ארשום ממש :
"2600" = selectLst.SelectedValue
אז אכן אקבל רוחב מסויים ראשון. אבל איך אני מספק את המפתח הנכון מה- repeater?
תודה
שלום
יש לי repeater שבתוכו יש dropdownlist המכיל שמות רחובות.
אני רוצה שהרחוב השייך לרשומה הנכחית יופיע ולא הראשון ברשימה.
ניסיתי מספר גישות ללא הצלחה.
1. בדף :
<aspropDownList ID="ddlStreetName" runat="server"
SelectedValue='<%# Eval("StreetName")%>'>
</aspropDownList>
או
<aspropDownList ID="ddlStreetName" runat="server"
SelectedValue='<%# Eval("IDStreet")%>'></aspropDownList>
נותן הודעה : בזמן ה-run
System.InvalidOperationException was unhandled by user code
HResult=-2146233079
Message=פעולות שירות של איגוד נתונים כגון Eval(), XPath() ו- Bind() ניתנים לשימוש רק בהקשר של פקד איגוד נתונים.
בכלל, כל דבר שאני מצרף לפקד בצד הדף נותן את השגיאה הזו כולל =setselected ואפילו =text.
2. בקוד מאחור יש לי :
protected void repRentAppartments_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DropDownList selectLst = e.Item.FindControl("ddlStreetName") as DropDownList;
if (selectLst != null)
{
selectLst.DataSource = GetStreetNames(5000);// מחזיר טבלאת רחובות
selectLst.DataBind();
selectLst.DataTextField = "StreetName";
selectLst.DataValueField = "IDStreet";
selectLst.SelectedValue = ????
}
}
עובד תקין אבל
כאן אני נתקל בבעייה. אם ארשום ממש :
"2600" = selectLst.SelectedValue
אז אכן אקבל רוחב מסויים ראשון. אבל איך אני מספק את המפתח הנכון מה- repeater?
תודה