2016-04-20 17 views
0

私はdropdownsで問題を整理しようとしていますので、selectedindexchangedの値を読むときにプロパティを使用してページ上で修正しようとしています。ドロップダウンでguid値を事前に選択するにはどうすればいいですか?

public Guid _appointmentType { get; set; } 

protected void Page_Init(object sender,EventArgs e) 
{ 
     string id = Request.QueryString["id"]; 

     Guid _guid = string.IsNullOrEmpty(id) ? new Guid() : new Guid(id); 

     _shifts = _dal.GetShiftPatternById(_guid); 

     if (!IsPostBack) 
     { 
     var dlManagersSource = _dal.GetManagers(); 
     rdManagers.DataSource = dlManagersSource; 
     rdManagers.DataValueField = "LookupValue"; 
     rdManagers.DataTextField = "LookupDescription"; 
     rdManagers.DataBind(); 

     var ddlShiftPatterns = _dal.GetShiftPatternTypes(); 
     rdAppointmentType.DataSource = ddlShiftPatterns; 
     rdAppointmentType.DataValueField = "LookupValue"; 
     rdAppointmentType.DataTextField = "LookupDescription"; 
     rdAppointmentType.DataBind(); 



     } 

     rdDayOfWeek.SelectedValue = _shifts.dayOfWeek.ToString(); 
     rdManagers.SelectedValue = _shifts.manager_Id.ToString(); 
     txtDescription.Text = _shifts.Description; 
     rdStartShift.SelectedDate = _shifts.startdate; 
     rdShiftEnd.SelectedDate = _shifts.endDate; 
} 

protected void rdAppointmentType_SelectedIndexChanged(object sender, DropDownListEventArgs e) 
{ 
     _appointmentType = new Guid(rdAppointmentType.SelectedValue); 
} 

しかし、私はそれがヌルとしてそれを保存していたレコードの代わりに、OBVの値をリロードするために来るとき、私は、エンティティのバックを保存しますが、私の質問は、私が使用しています方法を考えていないです保存し、イベントを持っています見るためのguidに一致するように、すでにドロップダウン状態になっていますが、最初に滞在しているように働いています。選択してください。

<div class="form-group"> 
     <label class="col-md-4 control-label" for="val_bio">Appointment Type<span class="text-danger">*</span></label> 
     <div class="input-group col-md-7"> 
     <telerik:RadDropDownList ID="rdAppointmentType" OnSelectedIndexChanged="rdAppointmentType_SelectedIndexChanged" DefaultMessage="Please Select" runat="server" Skin="Bootstrap"></telerik:RadDropDownList> 
    </div> 
</div> 

私は私の主な問題は、あなたがPostBackのプロパティ_appointmentTypeの内容を失っているダウンこのラインに

rdManagers.SelectedValue = _shifts.manager_Id.ToString(); 

答えて

0

だと思います。あなたはViewState

の代わりにそれを保存することができます。

public Guid _appointmentType { get; set; } 

この

private Guid _appointmentType 
{ 
    get 
    { 
     if (ViewState["_appointmentType"] == null) 
     { 
      return null; 
     } 
     return (Guid)ViewState["_appointmentType"]; 
    } 
    set 
    { 
     ViewState["_appointmentType"] = value; 
    } 
} 
などの使用プロパティ
関連する問題