我正在构建一个基于CRUD的ASP.NET网站,我已经进入了项目的阶段,我正在尝试构建一个搜索网页,该网页显示了用户根据参数的某个重要表的不同子集,它们会根据参数输入此类搜索网页。作为日期和不同的文本字段。

我不能使用固定的SQL语句,因为取决于它们是按日期搜索还是其他内容,SQL会有所不同,因此我一直在使用启动不可见的表Web控件生成结果列表,然后用户确定要进行的搜索后,填充并设置为可见。我之所以使用表控件,是因为它易于在后面的代码中创建和修改,并且能够根据需要对数据库进行所需的调用并填充该表。

但是,我在此搜索页面上需要的第二件事是能够允许用户从结果中选择记录,然后使用网站上基于CRUD的其余页面进行编辑。为此,我在表中创建了ASP:按钮,并给了它们所有不同的ID和同一事件处理程序。但是,由于我动态创建按钮,因此事件似乎在回调上消失了,我的方案失败了,因此我要第二次查看如何做到这一点。

我目前的事件代码看起来像:

 tempcell = new TableCell();
 Button tempbutton = new Button();
 tempbutton.Text = "Go";
 tempbutton.ID = "gobutton" + rowN;
 tempbutton.Visible = true;
 tempbutton.Click += new EventHandler(tempbutton_Click);
 tempcell.Controls.Add(tempbutton);
 temprow.Cells.Add(tempcell);

我的结果表是这样声明的:

<asp:Table ID="ResultTable" visible="false" runat="server" 
GridLines="Both" CellSpacing="8">
</asp:Table>

我希望能够识别选定的用户记录的记录,因此我可以将该信息发送到另一个页面。当然,我仍然需要能够为几个不同的搜索标准生成结果。目前,我有日期,模板和代码搜索,这些搜索会根据用户输入的内容导致不同的存储过程和不同的参数。

对此有任何建议吗?似乎数据网格和中继器需要提前正常工作的SQL语句,因此我不确定如何使用它们,但是如果我可以使用这些命令方法,则可以使用按钮。

有帮助吗?

解决方案

如果在页面加载事件中重新创建按钮,则您的活动将成功连接。

否则,请使用GridView。它是简单CRUD的理想解决方案,您可以根据需要控制它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top