ASP.NET не показывает eval на странице - ASPxGridView

У меня, надеюсь, простой вопрос. У меня есть 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>

person Rob    schedule 26.05.2012    source источник
comment
вы можете использовать свойство DataKeyNames элемента управления ASPxGridView.   -  person Nudier Mena    schedule 27.05.2012


Ответы (3)


Попробуй это

 <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
   }
}
person Community    schedule 26.05.2012

Попробуйте поместить скрытое поле и привязать его значение, как показано ниже.

<asp:HiddenField ID="hdnPatientID" runat="server" Value='<%# Eval("PatientID")%>' />
person Krishanu Dey    schedule 26.05.2012

Я добавляю сюда функциональный код. Спасибо всем! Использование команды отлично сработало.

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>
person Rob    schedule 27.05.2012