【发布时间】:2021-11-24 05:51:06
【问题描述】:
我正在使用 C# 语言的 ASP.NET 表单制作一个 Web 应用程序。
我需要将图像作为输入并想要显示它...
这里的“staffStatus”是 GridView 的 ID。(我不想直接从那里绑定数据,因为应该只显示几列。)
SqlCommand cmd = new SqlCommand("SELECT * FROM [StaffInfo] WHERE Role='Staff' ", con);
SqlDataReader dr = cmd.ExecuteReader();
if ( dr.HasRows==true )
{
staffStatus.DataSource = dr;
staffStatus.DataBind();
}
这是staffStatus.aspx页面的内容(显示数据)
<asp:GridView ID="staffStatus" runat="server" AutoGenerateColumns="False" ShowHeader="false" CssClass="table">
<Columns>
<asp:TemplateField>
<ItemTemplate>
Id: <asp:Label runat="server" id="staffId" Text='<%# Eval("Id") %>' />
<br />
Name : <asp:Label ID="staffName" runat="server" Text='<%# Eval("staffName") %>' /> <asp:Label runat="server" id="staffSurname" Text='<%# Eval("staffSurname") %>' />
<br />
Email : <asp:Label ID="staffEmail" runat="server" Text='<%# Eval("staffEmail") %>' />
<br />
Gender: <asp:Label runat="server" id="staffGender" Text='<%# Eval("staffGender") %>' />
<br />
Phone No. : <asp:Label ID="staffPhoneNo" runat="server" Text='<%# Eval("staffPhoneNo") %>' />
<br />
Joining Date: <asp:Label runat="server" id="staffJoinDate" Text='<%# Eval("staffJoinDate") %>' />
<br />
Role : <asp:Label ID="Role" runat="server" Text='<%# Eval("Role") %>' />
<br />
Image : <image src='<%# Eval("staffImage") %>' />
<br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这就是我如何将表单数据保存到数据库中
string staffImageName = ddlRole.SelectedItem.Text.ToUpper() + "_" + staffImage.PostedFile.FileName;
string staffImagePath = "Images/Staff/" + staffImageName;
staffImage.PostedFile.SaveAs(Server.MapPath("~/Images/Staff/") + staffImageName);
SqlCommand cmd = new SqlCommand("INSERT INTO [staffInfo] VALUES ('" + txtName.Text + "','" + txtSurname.Text + "','" + txtEmail.Text + "','" + ddlGender.SelectedItem.Text + "','" + txtPhone.Text + "','" + DateTime.Today.ToShortDateString() + "','" + cryptPassword + "','" + ddlRole.SelectedItem.Text + "','" + staffImagePath + "')", con);
int chck = cmd.ExecuteNonQuery();
所以基本上它会将照片保存为 STAFF_pic1.jpg 或 ADMIN_pic2.jpg 在项目中可用的图像文件夹中。
对于数据库,它存储诸如 Images/Staff/STAFF_pic1.jpg
但是为什么它在应用程序上不显示图片!? 谁能说出这是怎么发生的以及为什么会发生!?
【问题讨论】:
-
staffImage 变量的值是多少?可以调试吗?浏览器控制台还可以帮助您查看 src 标签中的内容
-
@viveknuna 这解释了很多。现在我看到它正在“Admin”文件夹中搜索“Images”文件夹,因为这个 aspx 页面位于“Admin”中,而“Images”位于根文件夹中。那么你能告诉我如何解决这个问题..
-
尝试使用 .此链接将为您提供帮助stackoverflow.com/a/275791/6527049
标签: c# asp.net image razor aspxgridview