グリッドビューがあり、行セルから別のページに値を渡したいです。文字列である値に基づいて、特定のクエリを実行し、別のグリッドビューを埋めることができます。私の問題は、行をダブルクリックしても値が取得されないことですが、行セルのインデックスを変更すると、行内の他の列の値が取得されます。さらに情報が必要な場合はお知らせください。
protected void grdCowCard_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string querystring = string.Empty;
string id = e.Row.Cells[1].Text;
//Session["selectedLactationEvent"] = "MMR";
e.Row.Attributes["ondblclick"] = string.Format("doubleClick({0})", id);
//won't pick up the value("MMR") at Row.Cells[1]
//but will pick up the value("1") at Row.Cells[0]
}
}
<script type="text/javascript">
function doubleClick(queryString) {
window.location = ('<%=ResolveUrl("LactationDetails.aspx?b=") %>' + queryString);
}
</script>
値はこのセッションに基づいて取得し、グリッドビューを埋めるために使用する方法を決定するために使用する必要があります。
Session["selectedLactationEvent"] = Request.QueryString["b"].ToString();
//string test = (string)(Session["selectedLactationEvent"]);
if ((string)(Session["selectedLactationEvent"]) == "MMR")
GetExtraMMRdetails();
else if ((string)(Session["selectedLactationEvent"]) == "LAC")
GetExtraLACdetails();
else
GetExtraEBIdetails();