Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从aspx中的Gridview行检索主键以在userControl.ascx中使用?_C#_Jquery_Mysql_Visual Studio_Gridview - Fatal编程技术网

C# 如何从aspx中的Gridview行检索主键以在userControl.ascx中使用?

C# 如何从aspx中的Gridview行检索主键以在userControl.ascx中使用?,c#,jquery,mysql,visual-studio,gridview,C#,Jquery,Mysql,Visual Studio,Gridview,我有一个GridView,其中包含来自mysql数据库的数据绑定字段。它包含两列IdTask(主键), TaskName和一个打开jQuery对话框的按钮。 我需要根据单击按钮所在行的任务ID填充此对话框。 我有一个用户控件和另一个Gridview,其中包含我需要在对话框中显示的数据 这就是我到目前为止所做的: aspx页面: 你能帮我吗?没有这个ID,我也不能使用下载或上传文件功能。它当前仅显示带有文件上载和上载按钮的表单 如果我没有说明我需要什么(英语不是我的第一语言),请随时提问,我会解释

我有一个GridView,其中包含来自mysql数据库的数据绑定字段。它包含两列IdTask(主键), TaskName和一个打开jQuery对话框的按钮。 我需要根据单击按钮所在行的任务ID填充此对话框。 我有一个用户控件和另一个Gridview,其中包含我需要在对话框中显示的数据

这就是我到目前为止所做的:

aspx页面:

你能帮我吗?没有这个ID,我也不能使用下载或上传文件功能。它当前仅显示带有文件上载和上载按钮的表单

如果我没有说明我需要什么(英语不是我的第一语言),请随时提问,我会解释你的第一个问题是你需要回发来填充弹出窗口。这意味着
中的弹出窗口使用另一个单独的.aspx页面,该页面包含您的user.ascx控件。您可以通过URL传递
activitateId
。注意:
不会回发,但它会在不刷新主页的情况下运行popup.aspx页面的页面生命周期

<div id="divModalFiles" style="display:none">
    <iframe id="iframe_id" runat=server src="popup.aspx" ... />
</div>
在JS/JQuery中,在调用弹出窗口之前修改iframe src属性:

function AlterIframeSrc( ID ) 
{
  $('#iframe_id').attr( 'src', 'popup.aspx?id=' + ID; );
}

选择2 或者,根据弹出窗口可能包含的数据量,您可以在主gridview的每一行中创建预加载的隐藏div。
像任何其他服务器控件一样,将.ascx放入主Gridview,并将
activitateId
作为控件参数传递给它

但是如果对于每个
activitateId
您只获得少量数据,则只执行此操作,因为这会影响性能但是您不再需要回发来获取数据

这是对初始性能影响的权衡。
优点是可以使用简单的javascript连接弹出窗口

<asp:TemplateField>
  <ItemTemplate>
     <asp:ImageButton runat="server" ID="btnDelFile" ImageUrl="~/delete.png.png" OnClientClick="return confirm('Sure?');" OnClick="btnDelFile_Click"/>
     <div id="divModalFiles" style="display:none">
       <ucFiles:Files runat="server" IDTask='<%# Eval("activitateId") %>'/>
     </div>
  </ItemTemplate>
</asp:TemplateField>

我添加的用户控件属性,
IDTask
,将在.ascx中定义为可绑定的公共属性

<div id="divModalFiles" style="display:none">
    <iframe id="iframe_id" runat=server src="popup.aspx" ... />
</div>
<html>
<head> 
    whatever you need here
</head>
<body>  
  <ucFiles:Files runat="server"/>
</body>
</html>
function AlterIframeSrc( ID ) 
{
  $('#iframe_id').attr( 'src', 'popup.aspx?id=' + ID; );
}
<asp:TemplateField>
  <ItemTemplate>
     <asp:ImageButton runat="server" ID="btnDelFile" ImageUrl="~/delete.png.png" OnClientClick="return confirm('Sure?');" OnClick="btnDelFile_Click"/>
     <div id="divModalFiles" style="display:none">
       <ucFiles:Files runat="server" IDTask='<%# Eval("activitateId") %>'/>
     </div>
  </ItemTemplate>
</asp:TemplateField>