2017-02-22 14 views
0

У меня есть база данных, которая показана ниже на рисунке: Image of databaseКак показать изображение в режиме управления изображением, в котором путь изображения хранится в базе данных, когда пользователь выбирает значение в раскрывающемся списке в asp.net?

Вот изображение формы: Image of the Form В этой форме я хочу, чтобы показать изображение в контроле изображения, какой путь изображения хранится в базе данных и согласно значению подкатегории из выпадающего списка, когда пользователь выбирает его, как я могу это сделать, пожалуйста, помогите ... Спасибо Ребята вот исходный код моей формы, я добавил sqldatasource и связал выпадающий список с sqldatasource .........

<form method="post" enctype="multipart/form-data"> 
<table border="0" width="450px" height="500px" align="center" class="tableshadow"> 
    <tr> 
     <td colspan="2" class="toptd" style="color: white; font-size: 24px; text-align: center; 
      height: 40px; background-color: #60b2e7"> 
      Update Subcategory 
     </td> 
    </tr> 
    <tr> 
     <td class="lefttxt"> 
      <asp:Label ID="Label1" runat="server" Text="Select Subcategory:"></asp:Label> 
     </td> 
     <td> 
      &nbsp; 
      <asp:DropDownList ID="DropDownList1" runat="server" Height="35px" Width="134px" DataSourceID="SqlDataSource1" 
       DataTextField="subcatname" DataValueField="subcatid"> 
       <asp:ListItem Text="Select category" Value="0"></asp:ListItem> 
      </asp:DropDownList> 
      <asp:Button ID="btnshow" runat="server" OnClick="btnshow_Click" Text="Show" Width="94px" /> 
     </td> 
    </tr> 
    <tr> 
     <td class="lefttxt"> 
      <asp:Label ID="Label2" runat="server" Text="Subcategory Name:"></asp:Label> 
      <br /> 
     </td> 
     <td> 
      <asp:TextBox ID="txtsubcategoryname" runat="server"></asp:TextBox> 
      <br /> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtsubcategoryname" 
       ErrorMessage="*Please Enter the Subcategory Name" Font-Bold="True" Font-Italic="True" 
       Font-Size="X-Small" ForeColor="Red"></asp:RequiredFieldValidator> 
     </td> 
    </tr> 
    <tr> 
     <td class="lefttxt"> 
      <asp:Label ID="Label3" runat="server" Text="Select Category:"></asp:Label> 
     </td> 
     <td> 
      <asp:DropDownList ID="DLCategory" runat="server" Height="35px" Width="146px" DataSourceID="SqlDataSource1" 
       DataTextField="categoryname" DataValueField="categoryname"> 
       <asp:ListItem Text="Select category" Value="0"></asp:ListItem> 
      </asp:DropDownList> 
      &nbsp; 
      <tr> 
       <td class="lefttxt"> 
        <asp:Label ID="Label6" runat="server" Text="Category Name:"></asp:Label> 
        <br /> 
       </td> 
       <td> 
        <asp:TextBox ID="txtcategoryname" runat="server"></asp:TextBox> 
        <br /> 
        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtcategoryname" 
         ErrorMessage="*Please Enter the Category Name" Font-Bold="True" Font-Italic="True" 
         Font-Size="X-Small" ForeColor="Red"></asp:RequiredFieldValidator> 
       </td> 
      </tr> 
      <tr> 
       <td class="lefttxt"> 
        <asp:Label ID="Label4" runat="server" Text="Old Pic:"></asp:Label> 
       </td> 
       <td> 
        &nbsp;<input type="hidden" name="h1" value="" /><asp:Image ID="Image1" runat="server" /> 
       </td> 
      </tr> 
      <tr> 
       <td class="lefttxt"> 
        <asp:Label ID="Label5" runat="server" Text="Upload New Pic:"></asp:Label> 
       </td> 
       <td> 
        <asp:FileUpload ID="FileUpload1" runat="server" Width="225px" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        &nbsp; 
       </td> 
       <td> 
        <asp:Button ID="btnupdate" runat="server" Text="Update" OnClick="btnupdate_Click" /> 
       </td> 
      </tr> 
</table> 
</form> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ToursandTravelsConnectionString %>" 
    SelectCommand="SELECT [subcatid], [subcatname], [categoryname], [pic] FROM [subcategory]"> 
</asp:SqlDataSource> 
+0

Мы не будем знать, как внести изменения в существующий код без вашего исходного кода. Пожалуйста, напишите [минимальный пример того, что нужно изменить] (// stackoverflow.com/help/mcve) и полностью объясните, что нужно изменить. – rene

+0

, пожалуйста, добавьте код – Usman

ответ

0

Предоставление столбца «pic» в базе данных содержит ссылки на изображения, абсолютные, это также зависит от того, как вы выбрали раскрывающийся список.

Вам потребуется OnSelectedIndexChanged для падения вниз, который выполняет следующие действия:

Выбирает ПОС URL из базы данных, где подкатегория = значение выпадающей или текст. (это зависит от того, как вы установите раскрывающийся список вверх).

С полученным значением установите pic на тот, который вы получили.

Вам понадобится следующее: предоставление кода упростит его.

В вас ASP файл добавьте следующие строки в выпадающем списке:

OnSelectedIndexChanged="drp_SelectedIndexChanged" AutoPostBack="True" 

В коде позади вам нужно:

protected void drp_SelectedIndexChanged(object sender, EventArgs e) { 
     //SQL To obtain url for image based on drop down selection 
     //providing code makes this easier 
     //with return url: 
     Image1.ImageUrl = //returned url 
    } 
+0

У меня есть связанный мой выпадающий список с SqlDataSource с колонкой suubcategory @Guanabana –

+0

Отредактированный оригинал, я предлагаю предоставить код. –

+0

Спасибо @John за вашу помощь, приведенный выше синтаксис вашего кода дал мне базовое представление о том, как его реализовать. Большое спасибо .. :) –

0

У вас возникли проблемы в показе изображения в контроле изображения? Вы можете щелкнуть правой кнопкой мыши по этому контейнеру и проверить путь в свойствах?

Вы можете использовать AutoPostBack как True и «OnSelectedIndexChanged» для вызова функции сервера и обновления управления изображением на основе результата.

Или вы можете использовать JQuery для отображения изображений в теге Div.

jQuery(document).ready(function(){ 
    $("#dropdownID").change(function() { 
    $.ajax({ 
    url: "SericeFunction name", 
    success: function(msg){ 
     .....<bind img tag > 
    } 
    }); 
    }); 
}); 
0

Спасибо всем вам, ребята особенно @John за синтаксисом при условии, спасибо много .. Ниже код:

protected void btnshow_Click(object sender, EventArgs e) 
{ 
    using (var cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\PROJECT SEM6\Online Tours and Travels\App_Data\ToursandTravels.mdf;Integrated Security=True;User Instance=True")) 
    using (var cmd = cn.CreateCommand()) 
    { 
     cn.Open(); 
     cmd.CommandText = "select pic from subcategory where subcatid = '"+DropDownList1.Text+"'"; 
     cmd.Parameters.AddWithValue("@subcatid",DropDownList1.Text); 
     using (var reader = cmd.ExecuteReader()) 
     { 
      if (reader.Read()) 
      { 
       var filePath = reader.GetString(0); 
       // For this to work images must be stored inside the web application. 
       // filePath must be a relative location inside the virtual directory 
       // hosting the application. Depending on your environment some 
       // transformations might be necessary on filePath before assigning it 
       // to the image url. 
       Image1.ImageUrl =("~/"+filePath); 
      } 
     } 
    } 
Смежные вопросы