使用ASP.NET从数据库插入文本

时间:2014-06-25 10:02:54

标签: asp.net sql .net database

我已经做了一些搜索,但我似乎正在努力寻找答案,因为答案似乎总是围绕着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;。但我可能会很富裕。

任何帮助都会很棒!

1 个答案:

答案 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;
}