我希望这是一个简单的问题。我有一个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 :(得分:1)
尝试放置隐藏字段并将其值绑定,如下所示
<asp:HiddenField ID="hdnPatientID" runat="server" Value='<%# Eval("PatientID")%>' />
答案 1 :(得分: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
}
}
答案 2 :(得分: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>