-6

我在 Visual Studio 2008,C# 框架 3.5 中工作,我有 3 个表单,在 form1 和 form2 我读取了一些数据(包含在每个表单的 gridview 中)并将其传递给 form3,但是当我尝试保存数据时(在 form3 )我只是从form1或form2获取数据,但不是两者都我认为问题出在加载页面中,在此先感谢,这是我的代码:

    //form3:

public partial class menu2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

    lblNombreUsuario.Text = (string)Session["sesionicontrol"];
    //prueba
    if (Request.QueryString.Count > 0)
    {
        try
        {
            txtRutEncuestador.Text = Request.QueryString["rut"].ToString();
            leerNombre();
        }
        catch { };
    }

    if (!IsPostBack)
    {
        if (Request.QueryString.Count > 0)
        {
            try
            {

                txtIdEstudio.Text = Request.QueryString["cod_sap"].ToString();
                leerEstudios();

            }
            catch { };

        }
    }
4

1 回答 1

1

从您发布的原始代码中,我看到您正在做的只是在 page1 和 page2 中填充一个网格,并将行选择重定向到 menu2 页面。我没有看到你在哪里填充“sessioncontrol”,所以它可能是 null 并且不能转换为字符串。此外,做空尝试捕捉是不好的编码习惯。您应该改为执行以下操作:

lblNombreUsuario.Text = (string)Session["sesionicontrol"];
if (!IsPostBack)
{
    //prueba 
    if (Request.QueryString.Count > 0)
    {
        if Request.QueryString["rut"] != null)
        {
            txtRutEncuestador.Text = Request.QueryString["rut"].ToString();
            leerNombre();
        }

        if (Request.QueryString["cod_sap"] != null)
        {
            txtIdEstudio.Text = Request.QueryString["cod_sap"].ToString();
            leerEstudios();
        }
    } 
}

如果您想将两者都放在一个页面中,您将需要一个查询,该查询同时包含两者,然后在选择时执行:(在此处使用 sudo 代码)

Request.Redirect("~/Menu2.aspx?rut=" + rut + "&code_sap=" + codeSap);
于 2012-09-25T15:04:02.743 回答