如何根据不同的id将值从一个页面传递到另一个页面 [英] how to pass value from one page to another page based on different id

查看:305
本文介绍了如何根据不同的id将值从一个页面传递到另一个页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我在datagrid的第一列有3行(承包商,团队负责人,经理),第二列按钮就在那里。每当我点击承包商的按钮时,它都会打开另一个窗口。之后,这个承包商名称应显示在一个列标签的另一个网格中。



当我点击按钮时团队领导,它正在打开另一个窗口,之后该团队领导名称应显示在一个列标签中的另一个网格中。



内部DataTable goodsAddTable(DataTable _dtblanck,string LoginName)
{
int constant = 0;
DataRow _drNewRow = _dtblanck.NewRow();

for(int _cnt = 1; _cnt< 4; _cnt ++)
{
_drNewRow = _dtblanck.NewRow();

if(_cnt == 1)
_drNewRow [mio_source] =承包商;
else if(_cnt == 2)
_drNewRow [mio_source] =团队领导;
else if(_cnt == 3)
_drNewRow [mio_source] =manager;
_drNewRow [mio_id] = - constant;


_dtblanck.Rows.Add(_drNewRow);
}
返回_dtblanck;

解决方案

试试这样

这里iam使用查询字符串将值从一个页面传递到另一个页面,您可以使用会话,Cookie ...



Page 1



 < ;   asp:GridView     ID   =  GridView1    AutoGenerateColumns   =  false    runat   = 服务器 >  
< < span class =code-leadattribute>列 >
< asp:BoundField HeaderText = mio_source DataField = mio_source / >
< asp:TemplateField >
< ItemTemplate >
< ; asp:按钮 ID = btn runat = server 文本 = GOTO OnClick = btn_Click / >
< / ItemTemplate >
< / asp:TemplateField >
< /列 >
< ; / asp:GridView >





 受保护 无效 Page_Load( object  sender,EventArgs e)
{
if (!Page。 IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add( mio_source typeof string ));
dt.Rows.Add( Contractor);
dt.Rows.Add( 团队负责人);
dt.Rows.Add( manager);

GridView1.DataSource = dt;
GridView1.DataBind();

}
}

受保护 void btn_Click( object sender,EventArgs e)
{
var row = (sender as Button).Parent.Parent as GridViewRow;
string mio_source = row.Cells [ 0 ]。文字;
Response.Redirect( Page2.aspx?mio_source = + mio_source);
}







Page 2

 <   asp:label     id   =  labelmio_source     runat   =  server    text   = 标签    xmlns:asp   = #unknown >  <   / asp:label  >  





代码落后:



<前lang =cs> 受保护 void Page_Load( object sender,EventArgs e)
{
if (!Page.IsPostBack)
{
labelmio_source.Text = Request.QueryString [ mio_source] + ;

}
}





有关查询字符串的更多信息:使用QueryString在页面之间传递变量 [ ^ ]


Hi,
I have 3 row(Contractor,team lead,manager) in first column in datagrid and second column button is there. whenever i m clicking on button for contractor it is opening another window. after that this contractor name should display in another grid in one column label.

same way when i will clicking on button for team lead , it is opening another window and after that this team lead name should display in another grid in one column label.

internal DataTable goodsAddTable(DataTable _dtblanck, string LoginName)
        {
            int constant = 0;
            DataRow _drNewRow = _dtblanck.NewRow();

            for (int _cnt = 1; _cnt < 4; _cnt++)
            {
                _drNewRow = _dtblanck.NewRow();
                
                if(_cnt==1)
                  _drNewRow["mio_source"] = "Contractor";
                else if (_cnt == 2)
                    _drNewRow["mio_source"] = "team lead";
                else if (_cnt == 3)
                    _drNewRow["mio_source"] = "manager";
                _drNewRow["mio_id"] = --constant;
                

                _dtblanck.Rows.Add(_drNewRow);
            }
            return _dtblanck;

解决方案

Try like this
here iam using Query String to pass values from one page to another you can use Session,Cookies also...

Page 1

<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">
           <Columns>
               <asp:BoundField HeaderText="mio_source" DataField="mio_source" />
               <asp:TemplateField>
                   <ItemTemplate>
                       <asp:Button ID="btn" runat="server" Text="GOTO" OnClick="btn_Click" />
                   </ItemTemplate>
               </asp:TemplateField>
           </Columns>
       </asp:GridView>



protected void Page_Load(object sender, EventArgs e)
        {
            if( !Page.IsPostBack)
            {
                DataTable dt = new DataTable ();
                dt.Columns.Add("mio_source",typeof(string));
                dt.Rows.Add("Contractor");
                dt.Rows.Add("team lead");
                dt.Rows.Add("manager");

                GridView1.DataSource = dt;
                GridView1.DataBind();

            }
        }

        protected void btn_Click(object sender, EventArgs e)
        {
            var row = (sender as Button).Parent.Parent as GridViewRow;
               string  mio_source  = row.Cells[0].Text;
               Response.Redirect("Page2.aspx?mio_source=" + mio_source);
        }




Page 2

<asp:label id="labelmio_source" runat="server" text="Label" xmlns:asp="#unknown"></asp:label>



code behind:

protected void Page_Load(object sender, EventArgs e)
       {
           if (!Page.IsPostBack)
           {
              labelmio_source.Text = Request.QueryString["mio_source"] + "";

           }
       }



For more info on query string : Passing variables between pages using QueryString[^]


这篇关于如何根据不同的id将值从一个页面传递到另一个页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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