是这样的,我写了两个页面,一个是a.aspx,一个是b.aspx,其中a.aspx中有一个GridView1,里面的数据是从表a中获取的,表a的主键(流水号)是inspectionID。GridView中有一列是详细信息(表a中没有这个字段),点击每一条记录中的详细信息就跳转到b.aspx,也就是GridView1中的每一条记录都有一个详细信息,详细信息里是一个GridView2(存放详细信息的记录),GridView里用的是表b,b表有一个主键detalID,两个流水号,和其他的地段,两个流水号一个是detalID一个是inspectionID。之前我做的是将b.aspx以另外一个页面的形式连接过去的,部分代码截图如下:
a.aspx中的代码:<dx:GridViewDataColumn Caption="详细信息" VisibleIndex="7">
<Settings AllowAutoFilter="False" />
<EditFormSettings Visible="False" />
<DataItemTemplate>
<asp:LinkButton ID="lbtD" runat="server"
CommandArgument='<%# Eval("inspectionID") %>' oncommand="lbtD_Command" >
详细...
</asp:LinkButton </DataItemTemplate>
</dx:GridViewDataColumn>a.aspx.cs中的代码: protected void lbtD_Command(object sender, EventArgs e)
{
string inspectionID = ((LinkButton)sender).CommandArgument;
Response.Redirect("~/View/Libr/LibrDetail.aspx?inspectionID=" + inspectionID);
}
b.aspx.cs中的page_lode代码: string inspectionID;
protected void Page_Load(object sender, EventArgs e)
{
inspectionID = Request["inspectionID"];
lineNum = Request["txtlineNo"];
GetList();
}
现在我想将b页面以弹窗口形式显示,部分代码和截图如下:
a.aspx中的代码:
<script language="javascript" type="text/javascript">
function showDefect(inspectionID) {
pcDefectDetail.SetSize(920, 500);
pcDefectDetail.SetHeaderText('详细信息');
pcDefectDetail.SetContentUrl('LibrDetail.aspx?inspectionID =' + inspectionID);
pcDefectDetail.Show();
}
</script><dx:GridViewDataColumn Caption="详细信息" VisibleIndex="7">
<Settings AllowAutoFilter="False" />
<EditFormSettings Visible="False" />
<DataItemTemplate>
<a href="javascript:void(0);" onclick="showDefect(' <%# Eval("inspectionID") %>')">信息</a>
</DataItemTemplate>
</dx:GridViewDataColumn> <dx:ASPxPopupControl ID="pcDetail" runat="server"
ClientInstanceName="pcDefectDetail" ClientIDMode="AutoID"
CssFilePath="~/App_Themes/Aqua/{0}/styles.css" CssPostfix="Aqua" SpriteCssFilePath="~/App_Themes/Aqua/{0}/sprite.css"
AllowDragging="True" CloseAction="CloseButton" PopupHorizontalAlign="WindowCenter"
Modal="True" Theme="Aqua" PopupAnimationType="None">
<ClientSideEvents CloseUp="function(s, e) {
gvP.PerformCallback();
}" />
<ContentStyle VerticalAlign="Top">
<Paddings PaddingBottom="5px" PaddingLeft="5px" PaddingRight="5px" PaddingTop="2px" />
</ContentStyle>
<ModalBackgroundStyle Opacity="10">
</ModalBackgroundStyle>
<ContentCollection>
<dx:PopupControlContentControl ID="PopupControlContentControl2" runat="server" SupportsDisabledAttribute="True">
</dx:PopupControlContentControl>
</ContentCollection>
</dx:ASPxPopupControl>b.aspx.cs中代码是这样的: string inspectionID;
protected void Page_Load(object sender, EventArgs e)
{
inspectionID = Request["inspectionID"];
pipelineNum = Request["txtPipelineNo"];
GetList();
}
点击详细时提示“在位置 0 处没有任何行”,经过调试发现b.aspx.cs的这段代码从一开始就没有获取到值: string inspectionID;
protected void Page_Load(object sender, EventArgs e)
{
inspectionID = Request["inspectionID"]; //inspectionID是null
pipelineNum = Request["txtPipelineNo"];
GetList();
}我想问一下在b.aspx.cs中如何获取inspectionID呢,这里用request请求ingpectionID是不行,哪位大神可以帮帮偶呀 ~~~~谢谢~~~~C#.
a.aspx中的代码:<dx:GridViewDataColumn Caption="详细信息" VisibleIndex="7">
<Settings AllowAutoFilter="False" />
<EditFormSettings Visible="False" />
<DataItemTemplate>
<asp:LinkButton ID="lbtD" runat="server"
CommandArgument='<%# Eval("inspectionID") %>' oncommand="lbtD_Command" >
详细...
</asp:LinkButton </DataItemTemplate>
</dx:GridViewDataColumn>a.aspx.cs中的代码: protected void lbtD_Command(object sender, EventArgs e)
{
string inspectionID = ((LinkButton)sender).CommandArgument;
Response.Redirect("~/View/Libr/LibrDetail.aspx?inspectionID=" + inspectionID);
}
b.aspx.cs中的page_lode代码: string inspectionID;
protected void Page_Load(object sender, EventArgs e)
{
inspectionID = Request["inspectionID"];
lineNum = Request["txtlineNo"];
GetList();
}
现在我想将b页面以弹窗口形式显示,部分代码和截图如下:
a.aspx中的代码:
<script language="javascript" type="text/javascript">
function showDefect(inspectionID) {
pcDefectDetail.SetSize(920, 500);
pcDefectDetail.SetHeaderText('详细信息');
pcDefectDetail.SetContentUrl('LibrDetail.aspx?inspectionID =' + inspectionID);
pcDefectDetail.Show();
}
</script><dx:GridViewDataColumn Caption="详细信息" VisibleIndex="7">
<Settings AllowAutoFilter="False" />
<EditFormSettings Visible="False" />
<DataItemTemplate>
<a href="javascript:void(0);" onclick="showDefect(' <%# Eval("inspectionID") %>')">信息</a>
</DataItemTemplate>
</dx:GridViewDataColumn> <dx:ASPxPopupControl ID="pcDetail" runat="server"
ClientInstanceName="pcDefectDetail" ClientIDMode="AutoID"
CssFilePath="~/App_Themes/Aqua/{0}/styles.css" CssPostfix="Aqua" SpriteCssFilePath="~/App_Themes/Aqua/{0}/sprite.css"
AllowDragging="True" CloseAction="CloseButton" PopupHorizontalAlign="WindowCenter"
Modal="True" Theme="Aqua" PopupAnimationType="None">
<ClientSideEvents CloseUp="function(s, e) {
gvP.PerformCallback();
}" />
<ContentStyle VerticalAlign="Top">
<Paddings PaddingBottom="5px" PaddingLeft="5px" PaddingRight="5px" PaddingTop="2px" />
</ContentStyle>
<ModalBackgroundStyle Opacity="10">
</ModalBackgroundStyle>
<ContentCollection>
<dx:PopupControlContentControl ID="PopupControlContentControl2" runat="server" SupportsDisabledAttribute="True">
</dx:PopupControlContentControl>
</ContentCollection>
</dx:ASPxPopupControl>b.aspx.cs中代码是这样的: string inspectionID;
protected void Page_Load(object sender, EventArgs e)
{
inspectionID = Request["inspectionID"];
pipelineNum = Request["txtPipelineNo"];
GetList();
}
点击详细时提示“在位置 0 处没有任何行”,经过调试发现b.aspx.cs的这段代码从一开始就没有获取到值: string inspectionID;
protected void Page_Load(object sender, EventArgs e)
{
inspectionID = Request["inspectionID"]; //inspectionID是null
pipelineNum = Request["txtPipelineNo"];
GetList();
}我想问一下在b.aspx.cs中如何获取inspectionID呢,这里用request请求ingpectionID是不行,哪位大神可以帮帮偶呀 ~~~~谢谢~~~~C#.
这个地方看看inspectionID是否有效,比如:
<a href="javascript:void(0);" onclick="showDefect(' <%# Eval("inspectionID") %>')">信息<%# Eval("inspectionID") %></a>
看看什么结果