【发布时间】:2012-07-25 11:37:13
【问题描述】:
我有一个gridview,我想将一个值从一个行单元格传递到另一个页面。基于字符串的值,我可以运行特定的查询并填充另一个网格视图。 我的问题是,当我双击该行时,它不会获取该值,但是,当我更改行单元格索引时,它将用于该行中的其他列。 如果需要更多信息,请告诉我,谢谢。
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();
【问题讨论】:
-
无论如何,使用
switch ((string)Session["selectedLactationEvent"]) case "MMR": { } ... -
ASP.Net 页面没有捕捉到双击事件。您必须在 Javascript 中通过从客户端调用您的代码来做到这一点
-
我在 JavaScript 中这样做
标签: c# asp.net gridview request.querystring rowdatabound