簡體   English   中英

無法將數據庫數據顯示為SelectedValue asp.net C#

[英]Unable to show database data as SelectedValue asp.net c#

我正在嘗試從數據庫中檢索數據並將它們設置為dropdownlist和radiobuttonlist中的SelectedValue

關鍵是,當我在標簽中設置為文本但無法在下拉列表和單選按鈕列表中顯示時,數據將被檢索並可以顯示。 編碼對我來說似乎不錯,但是什么也沒顯示。 因此,我需要幫助以查看發生錯誤時的情況?

texttime和txttime1可以顯示結果,但只能顯示ddlEditEventStatus,ddlAddMembershiplist2和RadioButtonList1。

代碼背后:

 this.dvUpdate.Visible = true;
                //force databinding
                DataSet ds = dal.getEditEventDetails(promoID);
                this.dvUpdate.DataSource = ds;
                this.dvUpdate.DataBind();

                this.mdlPopup2.Show();

                populatePanelDDL4UpdateEvent(ds.Tables[0].Rows[0]["membershipType"].ToString());

                //remember the session of the old name
                Session["oldTitle"] = ds.Tables[0].Rows[0]["titlePromo"].ToString();

                ((RadioButtonList)dvUpdate.FindControl("RadioButtonList1")).SelectedValue = ds.Tables[0].Rows[0]["defaults"].ToString();

                //set eventCancelledStatus
                //set the time
                //((Label)dvUpdate.FindControl("Label3")).Text = ds.Tables[0].Rows[0]["defaults"].ToString();;
                ((DropDownList)dvUpdate.FindControl("ddlEditEventStatus")).SelectedValue = ds.Tables[0].Rows[0]["promoStatus"].ToString();
                ((DropDownList)dvUpdate.FindControl("ddlAddMembershiplist2")).SelectedValue = ds.Tables[0].Rows[0]["membershipType"].ToString();

                ((DropDownList)dvUpdate.FindControl("txttime")).Text = ds.Tables[0].Rows[0]["startTime"].ToString();
                ((DropDownList)dvUpdate.FindControl("txttime1")).Text = ds.Tables[0].Rows[0]["endTime"].ToString();

HTML:

  <td class="fields">
                                <asp:DropDownList ID="ddlEditEventStatus" CssClass="selectMidStyle"  Width="255px" runat="server">
                                    <asp:ListItem Text="Opened" Value="Opened"></asp:ListItem>
                                    <asp:ListItem Text="Closed" Value="Closed"></asp:ListItem>
                                </asp:DropDownList>
                            </td>
                            </tr>
                            <tr>
                                <td class="text">
                                    <asp:Label ID="add_membershipList2" runat="server" Text=" Membership Type : "></asp:Label>
                                </td>
                                <td colspan="3">
                                    <asp:DropDownList ID="ddlAddMembershiplist2" runat="server" Width="255px"  CssClass="selectMidStyle">

                                    </asp:DropDownList>

                                </td>
                            </tr>
                              <tr>
                                <td class="text">
                                    </br>
                                    <asp:Label ID="Label3" runat="server" Text=" Default Promotion : "></asp:Label>
                                </td>

                                <td>
                                    </br>  
                                 <asp:RadioButtonList ID="RadioButtonList1" runat="server"  ValidationGroup="EditValidationGp">
                                     <asp:ListItem Value="Y">Yes</asp:ListItem>
                                     <asp:ListItem Value="N">No</asp:ListItem>
                                 </asp:RadioButtonList>


                                </td>

問題是您沒有正確找到所需的下拉列表項。 使用如下的findbyvalue方法:

 //This is how you set selecteditem
((RadioButtonList)dvUpdate.FindControl("RadioButtonList1")).Items.FindByValue( ds.Tables[0].Rows[0]["defaults"].ToString()).Selected=true; 

將其用於其他下拉列表

我發現與dropdownlist和radiobuttonlist中的值相比,數據庫值存在一些差異。 取而代之的是nchar,我應該將其設置為nvarchar。 謝謝你的意見。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM