Asp.Net 中的转发器与存储过程绑定

发布于 2024-12-26 02:34:41 字数 703 浏览 0 评论 0原文

我有一个存储过程 SP1 ,它返回结果集作为

select column1 [Col(1)] from table1

ASPX 页面中的我的中继器是这样的:

<asp:Repeater ID="Repeater1" runat="server">
   <ItemTemplate>
      <tr>
         <td>
            <%# Eval("Col(1)")%>                                    
         </td>                                
      </tr>
   </ItemTemplate>                        
</asp:Repeater>

但是,调用 <%# Eval("Col(1)") % >,我收到错误:

“数据绑定:'System.String'不允许索引访问”

原因很明显,Col(1) 是痛苦所在。由于我无法更改存储过程,那么在asp.net中如何处理这种情况呢?

谢谢。

I have a stored procedure SP1 which is returning the result set as

select column1 [Col(1)] from table1

My repeater in the ASPX page is this here:

<asp:Repeater ID="Repeater1" runat="server">
   <ItemTemplate>
      <tr>
         <td>
            <%# Eval("Col(1)")%>                                    
         </td>                                
      </tr>
   </ItemTemplate>                        
</asp:Repeater>

But, calling <%# Eval("Col(1)") %>, I am getting an error:

"DataBinding: 'System.String' does not allow indexed access"

Reason is very clear that Col(1) is the pain. Since I can't change the stored procedure, so how can I handle this situation in asp.net?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疯狂的代价 2025-01-02 02:34:41

使用 DataItem 的 [] 索引器。第一项(列)的索引值为 0,依此类推。

<%# Eval("[0]") %>

或者

<%# DataBinder.Eval(Container.DataItem, "[0]")%>

Use [] indexer of DataItem. Index value 0 for the first item (column) and so on.

<%# Eval("[0]") %>

Or

<%# DataBinder.Eval(Container.DataItem, "[0]")%>
殤城〤 2025-01-02 02:34:41

试试这个。

<asp:Repeater ID="Repeater1" runat="server">
   <ItemTemplate>
      <tr>
        <td>
           <%# DataBinder.Eval(Container.DataItem, "Column_Name") %>
        </td>   
       </tr>
    </ItemTemplate>                        
 </asp:Repeater>

直接提及存储过程中使用的列名。

评论后编辑

然后试试这个

<%# eval("Column_Name") %>

try this.

<asp:Repeater ID="Repeater1" runat="server">
   <ItemTemplate>
      <tr>
        <td>
           <%# DataBinder.Eval(Container.DataItem, "Column_Name") %>
        </td>   
       </tr>
    </ItemTemplate>                        
 </asp:Repeater>

Directly mention the the Column name used in stored procedure.

Edited after Comment

Try this then

<%# eval("Column_Name") %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文