gpt4 book ai didi

c# - 从 DetailsView 获取 BoundField 的值

转载 作者:行者123 更新时间:2023-11-30 13:57:34 26 4
gpt4 key购买 nike

我似乎总是对此有疑问。我在 View 外部有一个按钮,它调用需要 OrderNumber 的函数。我一直收到错误,

ArgumentOutOfRangeException was unhandled by user code

在 Debug模式下,或者在浏览器中,

Specified argument was out of the range of valid values.

这是我访问它的方式:

string sOrderNumber = (Order_DetailsView.Rows[0].Cells[0].Controls[0] as TextBox).Text;
int orderNumber = Int32.Parse(sOrderNumber);

我也试过 ((TextBox)Order_DetailsView.Rows[0].Cells[0].Controls[0]).TextRows[i 中的每个索引组合.Cells[i].Controls[i] 我可以理解。

这是详细信息 View :

<asp:DetailsView ID="Order_DetailsView" runat="server" AutoGenerateRows="False">
<Fields>
<asp:BoundField DataField="OrderNumber" HeaderText="Order #" />
<asp:BoundField DataField="GST" HeaderText="GST" DataFormatString="{0:c}" />
<asp:BoundField DataField="Total" HeaderText="Total" DataFormatString="{0:c}" />
</Fields>
</asp:DetailsView>

我只是做错了吗?我已经查看了所有我能找到的例子,据我所知,我的代码看起来是合法的。我觉得我必须忽略一些简单的事情。

最佳答案

应该有一个 TemplateField 如下:

<asp:DetailsView ID="Order_DetailsView" runat="server" AutoGenerateRows="False">
<Fields>
<asp:BoundField DataField="OrderNumber" HeaderText="Order #" />
<asp:BoundField DataField="GST" HeaderText="GST" DataFormatString="{0:c}" />
<asp:BoundField DataField="Total" HeaderText="Total" DataFormatString="{0:c}" />
<asp:TemplateField HeaderText="Order Number">
<ItemTemplate>
<asp:TextBox ID="txtOrderNo" runat="server" Text='<%# Bind("OrderNumber") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>

然后你可以这样访问它:

string sOrderNumber = ((TextBox)Order_DetailsView.Rows[0].Cells[0].FindControl("txtOrderNo")).Text;

对于 BoundField 值,您可以这样做:

protected void Order_DetailsView_DataBound(object sender, EventArgs e)
{
string MyOrderNumber = Order_DetailsView.Rows[0].Cells[0].Text;
}

关于c# - 从 DetailsView 获取 BoundField 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20391719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com