2012-05-26 34 views
0

我希望有一个简单的问题。我有一个ASPxGridView,我需要从中提取数据并将其传递给函数。我想要做到这一点的一个简单方法是使用会话变量。ASP.NET不显示eval在页面 - ASPxGridView

但是,当我做Eval绑定它显示屏幕上的字符(以及将它们放入变量)。我如何从屏幕上删除角色?或者也许有一个更简单的方法来做到这一点。

代码是在这里(真正的肉是4号线下来):

  <dx:GridViewDataButtonEditColumn Caption="" Name="Schedule" 
      VisibleIndex="11"> 
      <DataItemTemplate> 
      <%# Session["PatientID"] = Eval("PatientID")%> 
        <dx:ASPxButton ID="ASPxButton1" runat="server" Text="Schedule" OnClick="Button_Click" > 
        </dx:ASPxButton> 
      </DataItemTemplate> 

     </dx:GridViewDataButtonEditColumn> 
+0

您可以使用ASPxGridView控件的DataKeyNames属性。 –

回答

1

试试这个

<dx:GridViewDataButtonEditColumn Caption="" Name="Schedule" VisibleIndex="11"> 
    <DataItemTemplate> 
     <dx:ASPxButton ID="ASPxButton1" 
     runat="server" Text="Schedule" 
     OnClick="Button_Click" 
     CommandName='SomeCoolCommandName' 
     CommandArgument='<%#Eval("PatientID")'> 
     </dx:ASPxButton> 
     </DataItemTemplate> 
</dx:GridViewDataButtonEditColumn> 

关于它的rowcommand或Itemcommand事件检查命令并做一些事情..

protected YourGrid_ItemCommand(sender, e) 
{ 
    if(e.CommandName.Equals("SomeCoolCommandName")) 
    { 
     var id = Convert.ToInt32(e.CommandArgument); // Give you your Patient ID 
     // do whatever you want to do with your ID 
    } 
} 
1

尝试把一个隐藏字段,并结合其价值就像下面

<asp:HiddenField ID="hdnPatientID" runat="server" Value='<%# Eval("PatientID")%>' /> 
0

我在此处添加功能代码。谢谢大家!使用命令效果很好。

protected void Button_Click(object sender, CommandEventArgs e) 
{ 
    string patID = e.CommandArgument.ToString(); 
    Response.Redirect("schedule.aspx?PatientID=" + patID); 
} 


    <dx:GridViewDataButtonEditColumn Caption="" Name="Schedule" 
     VisibleIndex="11"> 
     <DataItemTemplate> 
      <dx:ASPxButton ID="ASPxButton1" runat="server" Text="Schedule" 
CommandName = "PatientID" CommandArgument = '<%# Eval("PatientID")%>' OnCommand="Button_Click" > 
       </dx:ASPxButton> 
      </DataItemTemplate> 
     </dx:GridViewDataButtonEditColumn>