Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET FormView:“;类型为'的对象;System.Int32';无法转换为类型';System.String“;_C#_.net_Asp.net - Fatal编程技术网

C# ASP.NET FormView:“;类型为'的对象;System.Int32';无法转换为类型';System.String“;

C# ASP.NET FormView:“;类型为'的对象;System.Int32';无法转换为类型';System.String“;,c#,.net,asp.net,C#,.net,Asp.net,我的FromView有问题。 我想在FormView中显示数据库表中的一些数据。但是有些数据来自tupe Int32,而这些数据应该在一个文本框中,一个字符串 如何转换这些Int32 FormView和我的ObjectDataSource <asp:FormView ID="fvDetailOrder" runat="server"> <ItemTemplate> Aantal:<br /> <asp:Label Css

我的FromView有问题。 我想在FormView中显示数据库表中的一些数据。但是有些数据来自tupe Int32,而这些数据应该在一个文本框中,一个字符串

如何转换这些Int32

FormView和我的ObjectDataSource

<asp:FormView ID="fvDetailOrder" runat="server">
 <ItemTemplate>
        Aantal:<br />
        <asp:Label CssClass="txtBox" ID="Label15" runat="server" Text='<%# Eval("COUNT") %>' /><br />
        Prijs:<br />
        <asp:Label CssClass="txtBox" ID="Label16" runat="server" Text='<%# Eval("PRICE") %>' /><br />
        Korting:<br />
        <asp:Label CssClass="txtBox" ID="Label17" runat="server" Text='' /><br />
        Totaal:<br />
        <asp:Label CssClass="txtBox" ID="Label18" runat="server" Text='<%# Eval("AMOUNT") %>' /><br />
        Betaald:<br />
        <asp:Label CssClass="txtBox" ID="Label19" runat="server" Text='<%# Eval("PAID") %>' /><br />
        Datum betaling:<br />
        <asp:Label CssClass="txtBox" ID="Label20" runat="server" Text='<%# Eval("PDATE") %>' /><br />
    </ItemTemplate>
</asp:FormView>

<asp:ObjectDataSource ID="objdsOrderID" runat="server" 
    OnSelecting="objdsOrderID_Selecting" SelectMethod="getOrdersByID" 
    TypeName="DAL.OrdersDAL">
    <SelectParameters>
        <asp:Parameter Name="id" Type="Int32" />
    </SelectParameters>
</asp:ObjectDataSource>
非常感谢。

您使用
字符串类型设置参数“id”的值。但是tblOrders.ID是
int
的类型

试试这个:

da.SelectCommand.Parameters["id"].Value = Int32.Parse(id);
甚至这个(比以前的代码工作得更快更安全):

此外,最好下一步:

var table = CreateDataTable();
new SqlDataAdapter(command).Fill(table);
return table;
不使用数据集,而是将参数“id”的值设置为字符串类型。但是tblOrders.ID是
int
的类型

试试这个:

da.SelectCommand.Parameters["id"].Value = Int32.Parse(id);
甚至这个(比以前的代码工作得更快更安全):

此外,最好下一步:

var table = CreateDataTable();
new SqlDataAdapter(command).Fill(table);
return table;

在填充数据集之前,如何进行必要的强制转换,而不是使用数据集

protected void gvOrdersAdmin_SelectedIndexChanged(object sender, EventArgs e)
{
    T objdsOrderIDAUX = default(T);
    foreach(var item in objdsOrderID)
    {
         objdsOrderIDAUX.propertyBLA = item.propertyBLA.ToString();
         objdsOrderIDAUX.propertyBLO = item.propertyBLO.ToString();
         objdsOrderIDAUX.propertyBLUM = item.propertyBLUM.ToString();
    }
    fvDetailOrder.DataSource = objdsOrderIDAUX;

    HERE I THINK YOU WILL NOT GET THE ERROR -->  fvDetailOrder.DataBind();  
}

在填充数据集之前,如何进行必要的强制转换

protected void gvOrdersAdmin_SelectedIndexChanged(object sender, EventArgs e)
{
    T objdsOrderIDAUX = default(T);
    foreach(var item in objdsOrderID)
    {
         objdsOrderIDAUX.propertyBLA = item.propertyBLA.ToString();
         objdsOrderIDAUX.propertyBLO = item.propertyBLO.ToString();
         objdsOrderIDAUX.propertyBLUM = item.propertyBLUM.ToString();
    }
    fvDetailOrder.DataSource = objdsOrderIDAUX;

    HERE I THINK YOU WILL NOT GET THE ERROR -->  fvDetailOrder.DataBind();  
}