我已经做了一些搜索,但我似乎正在努力寻找答案,因为答案似乎总是围绕着ASP:GRIDVIEW。
我创建了一个SqlDataSource,它将从我需要的数据库中提取信息。但是,我现在要做的就是将这些特定字段显示在已经格式化的区域中。我相信这是通过输入类似这样的< %%>来实现的。
这是我的SqlDataSource:
asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ReviewConnectionString %>" ProviderName="<%$ ConnectionStrings:ReviewConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [reviews] WHERE ([review] = ?)">
<SelectParameters>
<asp:Parameter DefaultValue="={0}" Name="review" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
这是我想要显示数据库中的数据的地方
<h3>(I WANT A FIELD FROM MY DATABASE TO DISPLAY HERE!)</h3>
正如我之前提到的,我相信它包含标签&lt; %%&gt;。但我可能会很富裕。
任何帮助都会很棒!
答案 0 :(得分:0)
请查看 asp:DetailsView (而不是 asp:GridView )
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.detailsview(v=vs.110).aspx
DetailsView正在显示单个项目,就像GridView显示项目列表一样(在表格中)。
<asp:DetailsView ID="DetailsView1" runat="server"
AutoGenerateRows="True" DataKeyNames="Key"
DataSourceID="SqlDataSource1">
<Fields>
<asp:TemplateField HeaderText="">
<h3><% Eval("Name") %></h3>
</ItemTemplate>
</Fields>
</asp:DetailsView>
但是,我会在上面考虑&#34; hack&#34;相反,我会做一些不同于绑定自己使用SqlDataSource的东西。
如果您有常规的Web应用程序,请将您的sql语句移动到&#34;后面的代码中。并将结果绑定到文字将更好地分离 View 并使您的UI代码看起来像这样:
<h3><asp:Literal ID="Header" runat="server" /></h3>
然后你的代码将像这样绑定Literal:
Header.Text = "Hello World";
我没有添加用于从SQL数据库获取数据的代码,因为我也不同意这里的方法。我会创建一个LINQ数据上下文(或使用实体框架)来将我的SQL模式映射到C#实体模型。如果你这样做,那么从后面的代码中选择元素将非常简单:
using(var db = new MyLinqDataContext())
{
var review = db.Reviews.SingleOrDefault(o => o.Review = myReview);
if(review != null)
Header.Text = review.Name;
}