我可能对这个问题不准确。因为我刚开始学习ASP.NET。以前我使用WinForms Application并学习了很多c#代码。
现在我要做的是将我的SQL服务器数据库中的一些数据显示到我的cshtml表单中。
第一个问题是我需要将数据显示到cshtml还是aspx页面?两者有什么区别?
并且引导代码在这里。
<div class="media packagesList">
<a class="media-left fancybox-pop" href="img/packages/package-list-01.png">
<img class="media-object" src="img/packages/package-list-01.png" alt="Image">
</a>
<div class="media-body">
<div class="bodyLeft">
<h4 class="media-heading"><a href="single-package-right-sidebar.html">Suspendisse Tour</a></h4>
<div class="countryRating">
<span>Asia</span>
<ul class="list-inline rating">
<li><i class="fa fa-star" aria-hidden="true"></i></li>
<li><i class="fa fa-star" aria-hidden="true"></i></li>
<li><i class="fa fa-star" aria-hidden="true"></i></li>
<li><i class="fa fa-star" aria-hidden="true"></i></li>
<li><i class="fa fa-star" aria-hidden="true"></i></li>
</ul>
</div>
<p>Integer purus ex, dictum nec elementum eu, tristique vel lectus. Donec rutrum lectus et pharetra egestas.</p>
<ul class="list-inline detailsBtn">
<li><span class="textInfo"><i class="fa fa-calendar" aria-hidden="true"></i> 27 jan, 2016</span></li>
<li><span class="textInfo"><i class="fa fa-clock-o" aria-hidden="true"></i> 5 days</span></li>
</ul>
</div>
<div class="bodyRight">
<div class="bookingDetails">
<h2>$499</h2>
<p>Per Person</p>
<a href="single-package-right-sidebar.html" class="btn buttonTransparent clearfix">Details</a>
<a class="btn buttonTransparent" data-toggle="modal" href='.html'>Inquiry</a>
</div>
</div>
</div>
</div>
如何从数据库表中显示以下内容? 1.保存在我的网站图像文件夹中的图像(路径保存在db中)。 2.旅游标题(SUSPENDISSE TOUR) 3.旅游地点(亚洲在这里) 4.游览小描述(整数purus ex,dictum nec .....) 5.旅游日期(2016年1月27日) 6.总天数(5天) 7.每人费用(499美元)
请帮我理解这一点。我已经展示了我的代码。我尝试使用
@{
var db = Database.Open("ProTrekkers");
var selectQueryString = "SELECT * FROM pt_Tours_Index_Master";
}
但它给我的错误是数据库在当前上下文中不存在。
答案 0 :(得分:0)
第一个问题是我需要将数据显示到cshtml还是aspx页面? 两者有什么区别?
检查出来:What, why or when it is better to choose cshtml vs aspx?
如何从数据库表中显示以下内容? ...
您可以在aspx中的aspstrap代码(图像,标签等)中添加asp元素:
<body>
<form id="form1" runat="server">
<div class="media packagesList">
<a class="media-left fancybox-pop" href="img/packages/package-list-01.png">
<asp:Image ID="Image1" runat="server" CssClass="media-object" />
</a>
<div class="media-body">
<div class="bodyLeft">
<asp:Label ID="lblHeading" runat="server" CssClass="media-heading"></asp:Label>
<div class="countryRating">
<span><asp:Label ID="lblLocation" runat="server"></asp:Label></span>
<ul class="list-inline rating">
<li><i class="fa fa-star" aria-hidden="true"></i></li>
<li><i class="fa fa-star" aria-hidden="true"></i></li>
<li><i class="fa fa-star" aria-hidden="true"></i></li>
<li><i class="fa fa-star" aria-hidden="true"></i></li>
<li><i class="fa fa-star" aria-hidden="true"></i></li>
</ul>
</div>
<span><asp:Label ID="lblDescription" runat="server"></asp:Label></span>
<ul class="list-inline detailsBtn">
<li><span class="textInfo"><i class="fa fa-calendar" aria-hidden="true"></i> <asp:Label ID="lblDate" runat="server"></asp:Label></span></li>
<li><span class="textInfo"><i class="fa fa-clock-o" aria-hidden="true"></i> <asp:Label ID="lblDays" runat="server"></asp:Label></span></li>
</ul>
</div>
<div class="bodyRight">
<div class="bookingDetails">
<h2><asp:Label ID="lblPrice" runat="server"></asp:Label></h2>
<p>Per Person</p>
<a href="single-package-right-sidebar.html" class="btn buttonTransparent clearfix">Details</a>
<a class="btn buttonTransparent" data-toggle="modal" href='.html'>Inquiry</a>
</div>
</div>
</div>
</div>
</form>
</body>
在Code behind中使用类似的东西从数据库中获取数据:
List<string> myData = new List<string>();
using (SqlConnection connection = new SqlConnection("Your connection string"))
{
string query = "SELECT imgPath, heading, ... FROM pt_Tours_Index_Master";
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
myData.Add(reader.GetString(0));
myData.Add(reader.GetString(1));
myData.Add(reader.GetString(2));
myData.Add(reader.GetString(3));
}
connection.Close();
}
现在您可以将值分配给特定的asp元素,如下所示:
imgThumbnail.ImageUrl = myData[0];
lblHeading.Text = myData[1];
...
如果你想让它更具动态性,你也可以使用DataTable而不是List,然后在foreach循环中检索值