2015-06-11 15 views
0

我正在設計一個名爲「myprofile」的asp.net C#中的網頁。從上到下的結構如下:文件上傳控件(用於徽標),下拉(用於酒店類型),富文本框(用於聯繫信息 - 額外:粗體,斜體,超鏈接等功能),下拉式位置)。ASP.NET C#更新面板,文件上載控制和維護和保存回發信息

我的問題是在回發時維護文件上傳控件和富文本框的值。此外,我無法插入數據庫中的值,因爲什麼都沒有發生。我嘗試了很多東西。最後,我把我的設計如下:

<asp:FileUpload ID="FileUpload1" runat="server" /> 

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
<fieldset style="width:30%"> 
<legend>Update Panel-1</legend> 

<br />(Type of Hotel)<br /><br /> 
<asp:DropDownList ID="DropDownTypeOfHotel" runat="server" CssClass="cssdropdown"></asp:DropDownList> 


<br />(Contact Information Here)<br /><br /> 
<asp:TextBox ID="RichTextBoxContactInfo" runat="server"></asp:TextBox> 

<br />(Location)<br /><br /> 
<asp:DropDownList ID="DropDownListLocation" runat="server" CssClass="cssdropdown"></asp:DropDownList> 


</fieldset> 
</ContentTemplate> 
</asp:UpdatePanel> 

<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
<fieldset style="width:30%"> 
<legend>Update Panel-2</legend> 

<asp:Label ID="Label1" runat="server" Text="" ForeColor="Red"></asp:Label> 
<br /><br /> 
<asp:Button ID="btnUpdate2" runat="server" Text="Update Both Panels" OnClick="btnUpdate2_Click" /> 

</fieldset> 
</ContentTemplate> 
</asp:UpdatePanel> 

我在這裏同樣的謊言代碼: -

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     loadHotelType(); 
    } 
    Page.Form.Attributes.Add("enctype", "multipart/form-data"); 

} 

protected void btnUpdate2_Click(object sender, EventArgs e) 
{ 
    if (DropDownTypeOfHotel.SelectedIndex > 0) 
    {    
      if (DropDownListLocation.SelectedIndex > 0) 
      { 
       if (!string.IsNullOrEmpty(RichTextBoxContactInfo.Text)) 
       { 
        Label1.Text = "Cool!"; 
        insert(); 
       } 
       else 
       { 
        Label1.Text = "Kindly add contact info!"; 
       } 
      } 
      else 
      { 
       Label1.Text = "Kindly select location!"; 
      } 
    } 
    else 
    { 
     Label1.Text = "Kindly select type of hotel!"; 
    } 
} 


public void loadHotelType() 
{ 
    DropDownTypeOfHotel.Items.Insert(0, "--Select Type of Hotel/Supplier--"); 
    DropDownTypeOfHotel.Items.Insert(1, "2 star"); 
    DropDownTypeOfHotel.Items.Insert(2, "3 star"); 
    DropDownTypeOfHotel.Items.Insert(3, "5 star"); 

    DropDownListLocation.Items.Insert(0, "--Select Location of Hotel/Supplier--"); 
    DropDownListLocation.Items.Insert(1, "Canada"); 
    DropDownListLocation.Items.Insert(2, "USA"); 
    DropDownListLocation.Items.Insert(3, "LA"); 
} 

public void insert() 
{ 
    int img_logo = 0; 
    static byte[] btlogo_img; 

    if (FileUpload1.PostedFile.ContentLength != 0) 
    { 
     btlogo_img = new byte[FileUpload1.PostedFile.ContentLength]; 
     HttpPostedFile up1 = FileUpload1.PostedFile; 
     up1.InputStream.Read(btlogo_img, 0, (int)FileUpload1.PostedFile.ContentLength); 
     img_logo = 1; 
    } 

    if (img_logo == 1) 
    { 
     con1.Close(); 
     con1.Open(); 
     SqlCommand cmd = new SqlCommand("insert into file values('" + FileUpload1.PostedFile.FileName + "','" + btlogo_img + "')", con1); 
     cmd.ExecuteNonQuery(); 
     con1.Close(); 
    } 
    else 
    { 
     Label1.Text = "Kindly select logo!"; 
    } 
} 

請建議我用相同的。

+0

需要緊急幫助。請建議!提前致謝。 – Karishma

回答

0

我發現的最簡單的解決方案是保留控件,在回發時失去價值,在更新面板之外,並保持更新面板內的所有其他控件。

它真的對我有效!