これは非常にシンプルなものですが、私はこれを長年にわたって固執しています。 私はデータテーブルを作成し、データをgridviewに持っていました。 Great Sheet_idをクリック可能にしました。クリックすると新しいページが表示されます。 しかし私は他のSQLクエリのためにそれを使用するために私がgridviewから選択したsheet_idを取得したい。グリッドビューから新しいページへのデータの受け渡し
リンクボタンを使用して、あるページから別のページにそのsheet_idを渡すにはどうすればよいですか。
これはこれはExistingSheet.aspx.cs
protected void grdSheet_RowCommand(object sender, GridViewCommandEventArgs e)
{
Response.Redirect("SheetDetail.aspx" + e.CommandArgument);
}
これは私がSheetDetail.aspx.cs
public void FillGridSheet()
{
eExistingSheetQuery existingSheetQuery = new eExistingSheetQuery();
grdSheetDetail.DataSource = existingSheetQuery.DisplayReportSheet(**SHEET ID TO BE PLACED HERE**);
grdSheetDetail.DataBind();
}
にデータを取得したいページですExistingSheet.aspx
<asp:GridView ID="grdSheet" runat="server" AutoGenerateColumns="False"
CssClass="tablesorter table table-bordered table-hover table-striped tblCtr"
>
<Columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Label ID="hdnSheetId" runat="server" Text='<%# Eval("SNO")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sheet ID">
<ItemTemplate>
<asp:LinkButton runat="server" ID="sheetId" CommandName="sheet_id" CommandArgument='<%# Eval("sheet_id")%>' Text='<%# Eval("sheet_id")%>' OnClick="" PostBackUrl="~/SheetDetail.aspx">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
です
eExistingSheetQuery.cs
public DataTable DisplayReportSheet(string sheetId)
{
try
{
conn = new SqlConnection(estocktake);
conn.Open();
DataTable dtd = new DataTable();
GridView gvd = new GridView();
cmds = new SqlCommand("Select ROW_NUMBER() OVER (order by sheet_id) as SNO, csd.Barcode, csd.ItemId, pm.Description, csd.Quantity " +
"from CountSheetDetails csd " +
"join ProductMaster pm on pm.Barcode = csd.Barcode and pm.ItemId = csd.ItemId " +
"where csd.SheetId = '" + sheetId + "' and pm.Status ='A';",conn);
adpt = new SqlDataAdapter();
adpt.SelectCommand = cmds;
cmds.ExecuteNonQuery();
adpt.Fill(dtd);
conn.Close();
conn.Dispose();
for (int i = 0; i < dtd.Rows.Count; i++)
{
dtd.Rows[i]["SNO"] = i + 1;
}
return dtd;
}
catch (Exception)
{
conn.Close();
conn.Dispose();
return null;
}
}
は、私はいくつかの例を見ていたけど、私は本当に理解してないと思うSQL
からプルするつもりです次のクエリのためにそれを使用するbeableにIDを使用していました。どんな提案も素晴らしいでしょう。ありがとう!
grdSheet_RowCommand()で適切なURL解析文字列が見つからないと思います。たぶん "SheetDetail.aspx?SheetID =" + ...etc. – Fandango68
eExistingSheetQuery()は何をしているのですか?それは本当にデータソースを返すのですか?そうでなければ、それは別の問題です。 – Fandango68
@ Fandango68こんにちは、私はそれを追加しました。このシートにはこの機能が使用されています – phan