如何从gridview获得价值? [英] How to get value from gridview?

查看:75
本文介绍了如何从gridview获得价值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 InteractionName药物名称药物类型制造商名称药物描述
fff hhh Teblet cadila mmm
fff lll Teblet cadila mmm
fff hhh注射剂cadila ppp



-------------------------------------- --------------------------

以上是我的网格,我想传递交互名称,DrugId,和DrugName列,当我使用查询字符串点击交互名称..



-------------------- ---------

  protected   void  gvDrug_RowCommand( object  sender,GridViewCommandEventArgs e)
{
if (e.CommandName == cmdVi​​ew
{
R esponse.Redirect( AddNewDrug.aspx?DrugId = + e.CommandArgument.ToString());
}
if (e.CommandName == cmdInteractionName
{

Response.Redirect( DrugInteraction.aspx?InteractionId = + e.CommandArgument.ToString()+ DrugId =);

}
}

解决方案

建议添加另一栏说选择供用户选择一行,这使您的意图更清晰,并有助于提高可用性。参考:如何获取 - 选中行 - 单元格 - 来自GridView-in-ASPNet.aspx [ ^ ]


更改下面的链接按钮以通过多个值为命令参数

如果要传递InteractionName,DrugID和DrugColumn,HTML可以如下所示,





< asp:linkbutton id =   lbtInteractionName runat =   server xmlns:asp =  #unknown >  
CommandArgument = ' <%#Eval(InteractionId)%>,<%#Eval(DrugId)%>,<%#Eval(DrugName)%>'
CommandName = cmdInteractionName
Text = ' <%#Eval(InteractionName)%>' > < / asp:linkbutton >







在Gridview的RowCommandEvent中,您可以通过基于分割的方式获取所有命令参数逗号(,)。如下所示。





  String  [] values = e.CommandArgument.ToString()。Split(' ,'); 







希望它会有所帮助。 :)


InteractionName	Drug Name	Drug Type	Menufacturer Name	Drug Description
fff	        hhh	        Teblet	        cadila	                mmm
fff	        lll	        Teblet	        cadila	                mmm
fff	        hhh	        Injection	cadila	                ppp


----------------------------------------------------------------
above is my grid and i want to pass value of interaction name,DrugId,and DrugName column when i click on interaction name using query string..

-----------------------------

 protected void gvDrug_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "cmdView")
            {
                Response.Redirect("AddNewDrug.aspx?DrugId=" + e.CommandArgument.ToString());
            }
            if (e.CommandName == "cmdInteractionName")
            {
                
                Response.Redirect("DrugInteraction.aspx?InteractionId="+e.CommandArgument.ToString()+"DrugId=");
                
            }
}

解决方案

Suggest adding another column say Select for user to select a row, that makes your intention clearer and helps improve the usability. Refer: How-to-get-Selected-Row-cell-value-from-GridView-in-ASPNet.aspx[^]


Change your link button like below to pass multiple values as command argument.
As you want to pass InteractionName, DrugID and DrugColumn, HTML can be like below,


<asp:linkbutton id="lbtInteractionName" runat="server" xmlns:asp="#unknown">
      CommandArgument='<%# Eval("InteractionId") %>, <%# Eval("DrugId") %>,<%# Eval("DrugName") %>'
      CommandName="cmdInteractionName" 
      Text='<%# Eval("InteractionName") %>'></asp:linkbutton>




AND in RowCommandEvent of Gridview, You can get all of the command arguments by splitting based on comma(,). like below.


String[] values = e.CommandArgument.ToString().Split(',');




hope it will help. :)


这篇关于如何从gridview获得价值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆