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