Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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 ListView从文本框传递参数_C#_Asp.net_Listview - Fatal编程技术网

C# Asp.Net ListView从文本框传递参数

C# Asp.Net ListView从文本框传递参数,c#,asp.net,listview,C#,Asp.net,Listview,大家好,我有这个可怕的问题,我希望你们中的任何人都能帮助我首先,我有一个ListView,它有(比方说)3列Id、数量和一个带有动作的图像按钮 图像按钮启动createparameter函数,该函数将字符串拆分为2个int变量,但我想从textbox QuantityTextBox中获取第一个1,如何将textbox的值发送给函数,有什么想法吗 protected string CreateParameter(object arg1, object arg2) {

大家好,我有这个可怕的问题,我希望你们中的任何人都能帮助我首先,我有一个ListView,它有(比方说)3列Id、数量和一个带有动作的图像按钮

图像按钮启动createparameter函数,该函数将字符串拆分为2个int变量,但我想从textbox QuantityTextBox中获取第一个1,如何将textbox的值发送给函数,有什么想法吗

protected string CreateParameter(object arg1, object arg2) 
        {
            return string.Concat(arg1, "|", arg2);
        }

我希望有一种更好的方法来实现这一点,而不是对每个列表项进行遍历,然后找到控件,因为我不关心其他列表项,

您想做的事情不会按您想要的方式工作,因为用户可以更改文本框的值。因此,在运行时尝试将其绑定到CommandArgument是不合理的,因为那里还没有值

但是,当您处理ListView的ItemCommand事件时,您可以访问单击按钮的ListViewItem,因此可以使用FindControl获取文本框并查看其值

为此,您需要向ImageButton控件添加CommandName值。您可以直接在命令参数中传入产品id

因此,您的按钮将如下所示:

<asp:ImageButton ID="btnAdd" runat="server" Tooltip="Aggregar producto" CommandName="AddProduct"
  CommandArgument="<%# Eval("IdProduct") %>" />

您想要做的事情不会按您想要的方式工作,因为用户可能会更改文本框的值。因此,在运行时尝试将其绑定到CommandArgument是不合理的,因为那里还没有值

但是,当您处理ListView的ItemCommand事件时,您可以访问单击按钮的ListViewItem,因此可以使用FindControl获取文本框并查看其值

为此,您需要向ImageButton控件添加CommandName值。您可以直接在命令参数中传入产品id

因此,您的按钮将如下所示:

<asp:ImageButton ID="btnAdd" runat="server" Tooltip="Aggregar producto" CommandName="AddProduct"
  CommandArgument="<%# Eval("IdProduct") %>" />