C# 获取数据列表行详细信息
我的数据列表中有以下itemTemplateC# 获取数据列表行详细信息,c#,asp.net,datalist,C#,Asp.net,Datalist,我的数据列表中有以下itemTemplate <ItemTemplate> <asp:LinkButton ID="LinkButton1" CommandName="Select" autopostback="True" runat="server">'<%# Eval("ThreadTitle") %>'</asp:LinkButton> </ItemTemplate> 我希望通过单
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" CommandName="Select" autopostback="True" runat="server">'<%# Eval("ThreadTitle") %>'</asp:LinkButton>
</ItemTemplate>
我希望通过单击datalist中的行并从所选的特定行获取ThreadTitle参数,在其中一个事件处理程序中获取与所选行关联的ThreadID
我怎样才能完成这项任务
我基本上想要检索我输入到sqldatasource的sql参数,这些参数与单击的特定行相关
我自己解决的:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
LinkButton link = (LinkButton)e.Item.FindControl("LinkButton1");
string threadTitle = link.Text;
string recordID = (DataList1.DataKeys[e.Item.ItemIndex]).ToString();
string special = "";
}
enter code here
我认为,以下代码将起作用:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) {
DataRowView rowView = e.Item.DataItem as DataRowView;
int threadID = Convert.ToInt32(rowView["ThreadsID"]);
}
或
我认为,以下代码将起作用:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) {
DataRowView rowView = e.Item.DataItem as DataRowView;
int threadID = Convert.ToInt32(rowView["ThreadsID"]);
}
或
你可以这样做
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
// Will give you current data key value
Int32 threadID = Convert.ToInt32(e.CommandArgument);
// if you want value of your control
(ControlTypd)e.Item.FindControl("ControldId")
}
你可以这样做
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
// Will give you current data key value
Int32 threadID = Convert.ToInt32(e.CommandArgument);
// if you want value of your control
(ControlTypd)e.Item.FindControl("ControldId")
}
每次单击item linkbutton时,该行为null。将引发Nullerexception。另外,如何检索与该行关联的DatakeyName=ThreadID?请在int ThreadID行设置断点,并在QuickWatch窗口中检查e.item.DataItem属性的类型。它是什么?选定的INX已更改。。六羟甲基三聚氰胺六甲醚。。我会试试,一分钟不..行视图为空。。我认为这不是做这件事的方法。。我检索到的ThreadTitle如下:LinkButton link=LinkButtone.Item.FindControlLinkButton2;请检查DataList1.SelectedItem.DataItem属性的类型。这是什么?每次单击item linkbutton时,该行都为null。将引发Nullerexception。另外,如何检索与该行关联的DatakeyName=ThreadID?请在int ThreadID行设置断点,并在QuickWatch窗口中检查e.item.DataItem属性的类型。它是什么?选定的INX已更改。。六羟甲基三聚氰胺六甲醚。。我会试试,一分钟不..行视图为空。。我认为这不是做这件事的方法。。我检索到的ThreadTitle如下:LinkButton link=LinkButtone.Item.FindControlLinkButton2;请检查DataList1.SelectedItem.DataItem属性的类型。这是什么?e.CommandArgument引发格式异常。我将其设置为我的dataKeyField…ThreadsID。我希望它成为我使用的每一行的主键…穆罕默德,我解决了它..这是上面的解决方案..更新了我的答案e.CommandArgument引发格式异常。我将其设置为我的dataKeyField…ThreadsID。我希望它成为我使用的每一行的主键……穆罕默德,我解决了它……这是上面的解决方案……更新了我的答案
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e) {
DataRowView rowView = DataList1.SelectedItem.DataItem as DataRowView;
int threadID = Convert.ToInt32(rowView["ThreadsID"]);
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
// Will give you current data key value
Int32 threadID = Convert.ToInt32(e.CommandArgument);
// if you want value of your control
(ControlTypd)e.Item.FindControl("ControldId")
}